当前位置: 代码迷 >> C语言 >> 想请教一个有关字符串的题目
  详细解决方案

想请教一个有关字符串的题目

热度:74   发布时间:2007-09-11 21:48:50.0
想请教一个有关字符串的题目

#include <stdio.h>
#include <string.h>
void fun (char *w,int m)
{
char s,*p1,*p2;
p1=w;p2=w+m-1;
while (p1<p2)
{
s=*p1++;*p1=*p2--;*p2=s;

}
}

main ()
{
char a[]="ABCDEFG";
fun (a,strlen (a));
puts(a);
}


有四个答案 A. GFEDCBA B.AGADAGA C. AGAAGAG D. GAGGAGA

给出的正确答案是C 我觉得是A啊
有人能给我个解释吗?谢谢了

搜索更多相关的解决方案: 字符  

----------------解决方案--------------------------------------------------------
s=*p1++;*p1=*p2--;*p2=s;


LZ仔细分这3句~~~++和--~~~不是随便用的哦````
----------------解决方案--------------------------------------------------------
不明白 ,请指教
----------------解决方案--------------------------------------------------------

while (p1<p2)
{
s=*p1++;*p1=*p2--;*p2=s;/*当执行完s=*p1++;时,p1的值已经加一了,再去执行第二条语句
,执行完*p1=*p2--;时,p2的值已经减了一,再去执行第三条语句*/
}


----------------解决方案--------------------------------------------------------
第一次循环结果: AG CDE AG
第二次循环结果: AGA D GAG
第三次循环结果: AGA A GAG


LZ再仔细分析一下```一句一句看``看慢点```每句每一个字是意思是什么`````
自己把问题分析清楚```回有很大收获的``



----------------解决方案--------------------------------------------------------
先多谢各位高手,再慢慢分析
----------------解决方案--------------------------------------------------------
  相关解决方案