[問題] 一題reversestring的問題

看板C_and_CPP作者 (ice)時間10年前 (2014/01/15 00:13), 編輯推噓0(005)
留言5則, 4人參與, 最新討論串1/1
如題小弟寫了一題reverse string的練習題 有參考網路上的寫法 存了一個字串12345 想印出12345 跟54321 但無奈不知道為什麼印出來都是321而已 再請各位大大為小弟解惑 先謝過 #include<stdio.h> #include<stdlib.h> #include<string.h> int GetStringValueAndReverse(char*); void main() { char acString[]={"12345"}; int iResult=0; //iResult= GetStringValueAndReverse(acString); } int GetStringValueAndReverse(char* p) { char *t,temp,*end_p; //int L=strlen(p); t=(char*)malloc(sizeof(char)*strlen(p)+1); strcpy(t,p); printf("%s\n",t); //printf("%d\n",L); end_p=p+strlen(p)-1; while(end_p>p) { temp=*p; *p=*end_p; *end_p=temp; p++; end_p--; } printf("%s",p); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.231.164

01/15 00:16, , 1F
為什麼while裡面要ptt又要end_p-- ?
01/15 00:16, 1F

01/15 00:16, , 2F
看起來while最多只跑三次
01/15 00:16, 2F

01/15 00:51, , 3F
你的p最後移到中間了 當然只印中間以後的值
01/15 00:51, 3F

01/15 08:30, , 4F
一樓的ptt是哪招 XD
01/15 08:30, 4F

01/15 18:01, , 5F
#define ptt (p++)
01/15 18:01, 5F
文章代碼(AID): #1IrM8RSC (C_and_CPP)