水星寄了 2022-07-19 10:50 采纳率: 71.4%
浏览 30

问题如下,c语言指针问题

我的目的是要找到最大值最小值,用指针的话,为啥这样写输出答案不对

img

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2022-07-19 10:56
    关注

    因为10是最大值,在第一个,你的max指针指向arr,但由于你先交换最小值,导致10被交换到数组中最小值1的位置啦。你再交换max时,arr第一个元素不是啦。
    这里你要先判断一下,如果max和arr相同,你在交换完min后,实际上最大值已经被交换到min指向的位置,所以最大值交换应该是min和arr+n-1,而不是max和arr-n-1

    评论

报告相同问题?

问题事件

  • 创建了问题 7月19日