Na6i 2023-04-19 14:04 采纳率: 83.3%
浏览 17
已结题

在c语言中比较字符串不能正确比较

img

img


请问是哪里出错了吗,在比较的时候三个两两比较,然后给另一个函数交换,但是最后不能正确得出结果

  • 写回答

2条回答 默认 最新

  • 乘风xs 2023-04-19 14:22
    关注

    你的f函数里面的逻辑有问题,应该先保证a > b , a > c, 然后再去取保b > c。因为按照你原来的逻辑:先让a > b, 然后让b > c, 这个时候已经b和c交换了,第三个if想让a > c,但实际效果是让a > b(因为上一步已经交换了)。

    if (strcmp(a, b) > 0){
        s(a,b);
    }
    if (strcmp(a, c) > 0){
        s(a, c);
    }
    if (strcmp(b, c) > 0) {
        s(b, c);
    }
    

    望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月19日
  • 创建了问题 4月19日