让人很听话 2022-11-20 15:09 采纳率: 90.9%
浏览 11
已结题

为什么没有输出,我这种交换有什么问题吗?详细解释一下,thankyou 了

img


为什么没有输出,我这种交换有什么问题吗?我不理解,详细解释一下,thankyou 了

  • 写回答

1条回答 默认 最新

  • 康来个程 新星创作者: C/C++技术领域 2022-11-20 15:32
    关注

    交换函数写的没有问题。出问题而是在你填入交换函数的第二个参数。
    a是数组首元素地址,a+i是数组最后一个填入元素的下一个数据的地址。那么a+i这个时候指向的是字符串结束标志\0。所以你的代码实际上是把数组的第一个元素和最后一个元素\0进行了交换。
    puts准备输出你的字符串时,交换后第一个数据就将为\0,所有puts认为字符串读取结束,于是没有输出

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月20日