求助

qq_53216250 2021-01-04 04:43:37
求大佬讲一下这段程序,谢谢
...全文
29 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Golden_Chen 2021-01-04
  • 打赏
  • 举报
回复
初学C吧。 要理解这个代码,首先要弄清楚,指针变量与普通变量的区别:前者是告诉编译器,存储的值是一个地址值;后者则是数值。 所以对于指针变量p, *p++ 和(*p)++是有区别。 函数里面,搞两个指针,一个指向头,一个指向尾。 按地址比较,然后交互数值大小。
qybao 2021-01-04
  • 打赏
  • 举报
回复
s1=w 指针指向字符串的首地址(也就是s1指向‘1’这个字符的地址) s2=w+n-1 指针指向字符串最后一个字符的地址(也就是s2指向‘7’这个字符的地址) while(s1<s2)当s1指向的地址小于s2指向的地址则一直循环 t=*s1;*s1=*s2;*s2=t;就是交换s1和s2地址的字符,也就是‘1’变成了‘7’,‘7’变成了‘1’ s1++就是s1指向的地址递增,也就是s1指向‘2’所在的地址 s2--就是s2指向的地址递减,也就是s2指向‘6’所在的地址 这样,下一轮while循环就会交换‘2’和‘6’,再下一轮就交换‘3’和‘5’,再下一轮,s1指向‘4’,s2也指向‘4’,不满足while,循环结束 所以最终字符串变为“7654321”
ctrigger 2021-01-04
  • 打赏
  • 举报
回复
fun函数实现字符串转置

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧