求助
#include<stdio.h>int main(){
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else if((c-1>d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
return 0;
}
这一个程序,结果为什么是4??? if(a>b>c) 这玩意在c语言里达不到你想要的效果或者说是错误的语句 wp231957 发表于 2022-1-5 15:58
if(a>b>c) 这玩意在c语言里达不到你想要的效果或者说是错误的语句
好,谢谢您 helenl 发表于 2022-1-5 16:02
好,谢谢您
if((c-1>d)==1) 这又是啥玩意啊 好另类啊 第一个 if 判断:if(a > b > c) // 这和 if(a > b && b > c) 不同
if(5 > 4 > 3)
= if(1 > 3) // 因为 5 > 4 为真,返回 1
= false
第二个 if 判断:if((c - 1 > d) == 1)
if((3 - 1 > 2) == 1)
= if((2 > 2) == 1)
= if(0 == 1) // 因为 2 > 2 为假,返回 0
= false
所以最终运行 else
页:
[1]