求 C语言大神

不明白 啥意思这个程序 函数体详细解释一下a=多少啊

654321 字符串逆置追问

怎么看出来的丫

追答

p1指向第一个字符 p2指向最后一个
然后就开始交换
一个++ 一个——
直到地址相等为止

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-27
最后,a=“654321”
fun函数实现了字串w,长度为m的逆转,头变尾,尾变头,前后颠倒。
p1指向w的头位置,p2指向w的m位置(主函数传入了整个字串的长度,于是p2就是字串的尾位置)
然后while(p1<p2)这个循环里面,实现了p1和p2位置字符元素的交换(s=*p1;*p1=*p2;*p2=s;)
执行完一次之后,p1后移,p2前移,变成了字串的第二个字符和倒数第二个字符
再次执行字符元素交换,知道p1<p2不成立,也就是头指针p1移到尾指针p2后面去了,已经完成了全部交换过程。(再交换,就又还原了,停)
第2个回答  2012-07-27
p1指向a[0] p2指向a[5]
当p1<p2时 就交换*p1 *p2
所以整个程序就是逆置
最后输出
相似回答