合聚咖

合聚咖

C语言的问题,这道题怎么做

admin

您好,答案是选C

值得注意的地方:

1、循环只循环了3次,并非6次(因为循环过程中,指针的值发生变化!)

2、指针p1和指针p2自加自减运算(先赋值后自加)

观察函数,作用是前后字符调转。其实我刚开始也以为开头第一个元素是G,并非这样。

s = *p1++; 这个不知道您是否理解了没有,先执行赋值运算,再执行自加运算,S的值是'A'没错,然后p1的值自加,即p1指向第二个元素位置,下面的*p1 = *p2--; 同样道理,先把*p2的值赋给*p1,p2指针再自减,所以,第二个元素就变成了G,同时p2从最末尾向前移动到倒数第二个元素的位置。。。如此类推,注意循环中两个指针的值的变化,从而影响了while的循环次数。