清如许 发表于 2022-10-24 19:46:06

为啥这个输出了最小值啊,请教各位

这是一个自动比大小然后输出最大值的程序,但是我输入40 40 10 ,他最后输出了10....
请教各位
#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d",&a);
    scanf("%d",&b);
    scanf("%d",&c);
   
    if(a>b>c||a>c>b)
    {   
      printf("%d",a);
    }
    else if(b>a>c||b>c>a)
    {
      printf("%d",b);
    }   
    else
    {
      printf("%d",c);
    }
   
    return 0;
   
}

jackz007 发表于 2022-10-24 19:54:06

本帖最后由 jackz007 于 2022-10-24 19:55 编辑

      C 语言不可以这样比大小
    if(a>b>c||a>c>b)
      得这样写
   if(a > b && a > c)
   {   
      printf("%d",a);
   } else if(b > a && b > c)
   {
      printf("%d",b);
   }   
   else
   {
      printf("%d",c);
   }

清如许 发表于 2022-10-24 19:55:38

jackz007 发表于 2022-10-24 19:54
C 语言不可以这样比大小

      得这样写

哦哦,谢谢大佬,但是请问为啥我的代码不行啊

jackz007 发表于 2022-10-24 20:04:12

本帖最后由 jackz007 于 2022-10-24 20:05 编辑

清如许 发表于 2022-10-24 19:55
哦哦,谢谢大佬,但是请问为啥我的代码不行啊

          因为你写错了。
          比如这个
if(b>a>c)
          Python 语言是允许的,但是,在C语言,你得写成
if(a > c && a < b)

清如许 发表于 2022-10-24 20:07:22

jackz007 发表于 2022-10-24 20:04
因为你写错了。
          比如这个



哦哦,谢谢大佬,受教了
页: [1]
查看完整版本: 为啥这个输出了最小值啊,请教各位