40888888888 2021-12-01 16:21 采纳率: 82.8%
浏览 15
已结题

第二个fun函数调用没看懂,\0大于6吗?

img

img

  • 写回答

1条回答 默认 最新

  • 於黾 2021-12-01 16:35
    关注

    fun函数的作用是头尾交换,
    它有3个参数
    第一个参数是个指针,就是你想要头尾交换的数组
    后面2个参数是从哪里开始交换,到哪里为止
    -=-=-=
    while(s<p),不是while(*s<*p),它只管指针走到哪了,跟数组里存的数据大小没有一毛钱关系
    因为判断了s<p,所以只有当输入的2个参数m1>m2的时候才会执行交换,因此第一次执行数组没变
    第二次执行,从9到6交换,长度一共只有9,溢出了,把结尾的\0给交换到前面来了
    第三次又没有执行交换
    最终效果就是字符串被\0给截断了

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

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 创建了问题 12月1日