最后两个else的作用,怎么让最后一个else否定第一个if

#include

int main()
{
int a,b,c;
printf("请输入3个整数:");
用scanf输入
if(a if(b
printf("%d",c);
else
printf("%d",b);
else if(a
printf("%d",c);
else
printf("%d",a);
return 0;
}

你这个是在a<b的前提下又分出了两种情况,需要将这两种情况分别都打上大括号,意思就是要在a<b的前提继续做判断,最后一个else并不是像你说的否定上面第二个if,而是否定了在第一个if(a<b)的前提并且不满足if(a<c)才得出a最大,再好好想一下,逻辑表达的不太好,继续加油(ง •̀_•́)ง

在第一个if后加大括号,将第二个if和else包括起来就可以了

if(a<b){
    if(b<c){
        printf("%d",c);
    }else{
    printf("%d",b);}
}else if(a<c){ //这里的else是否定的上面第二个if,在加一个a<c,不应该是a<b,c<b,a<c,为什么就C最大了
printf("%d",c);
}
else{
    printf("%d",a);
}

加了一个大括号就行了

#include<stdio.h>

int main()
{
    int a,b,c;
    printf("请输入3个整数:");
    scanf("%d %d %d",&a,&b,&c); 
    if(a<b){
        if(b<c)
            printf("%d",c);
        else
            printf("%d",b);
    }
    else if(a<c) 
        printf("%d",c);
    else
        printf("%d",a);
return 0;
}