本帖最后由 道本真 于 2014-7-24 07:56 编辑
- void changeChar(char *p, int lenth)
- { char *head = p;//记录首地址;
- char *end = p + lenth - 1;//最后字符地址;
- while( head<= end--) /* 错在这里,head++ 虽然这行不会变,可这行过后head就+1了,也就跑到第2个位置与后面的y交换了,所以要把head移到后面*/ {
-
- char temp = *head;
- *head = *end;
- *end = temp;
- head++; //在转换完后在+1,还有就是要注意sizeof(),与strlen()的区别
-
-
-
- }
- }
- int main( )
- {
- char name[] = "myname";
- int lenth = sizeof(name);
- changeChar(name,lenth);
- printf("%s\n",name);
- return 0;
- }
复制代码
希望对你有帮助,不好意思发错地方了 |