学海题深 发表于 2021-10-6 15:51:46

为什么这样比大小,最后一定是输出c的数

#include <stdio.h>
int main()
{
        int a,b,c,d;
        printf("请输入三个数字并在数字中间用逗号隔开:\n");
        scanf("%d,%d,%d",&a,&b,&c);
        if(a>b>c || a>c>b )
        {
                d = a;
        }
        else if(b>a>c || b>c>a)
        {
                d = b;
        }
        else
        {
                d = c;
        }
        printf("这三个数中最大的是%d\n",d);
       
        return 0;
}

hrpzcf 发表于 2021-10-6 16:22:06


#include <stdio.h>
int main() {
int a, b, c, d;
printf("请输入三个数字并在数字中间用逗号隔开:\n");
scanf("%d,%d,%d", &a, &b, &c);
if ((a > b && b > c) || (a > c && c > b)) {
    d = a;
} else if ((b > a && a > c) || (b > c && c > a)) {
    d = b;
} else {
    d = c;
}
printf("这三个数中最大的是%d\n", d);

return 0;
}

2736946915 发表于 2021-10-6 16:26:07

因为你前面4个判断条件都为假,建议用1个比较符号,中间用&&链接

jhq999 发表于 2021-10-6 20:16:17

if(a>b)max=a;
else max=b;
if(c>max)max=c;

学海题深 发表于 2021-10-7 10:41:05

hrpzcf 发表于 2021-10-6 16:22


好的,谢谢
页: [1]
查看完整版本: 为什么这样比大小,最后一定是输出c的数