请教一道课后习题答案解析?
#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 );
}
//这是课后一道习题,我在思考了很久(不是前后两个字符进行交换么,一直交换到两个p1 > p2便停止交换),一直搞不懂为什么运行输出的是"AGAAGAG" ?
[ 本帖最后由 自强 于 2012-2-25 14:52 编辑 ]