c语言新手
#include <stdio.h>voidmain()
{
int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
为什么这个输出是0呢,在线等,挺急的!!!!!!!!!!!!!!!!!!!!!!!!!!! d=(a>b>c);
这是啥意思?想要干什么? {:10_245:}{:10_245:}{:10_245:} 本帖最后由 gary冥霧 于 2018-12-18 21:34 编辑
C語言是無法同時判斷a>b>c這件事{:9_222:} ,他是先判斷a>b然後,如果a>b是對的那就會給一個非0的數值給b{:9_228:} ,反之就是0{:9_230:} ;然後再用剛才的質去比b>c(這裡的b是剛剛a>b給的質)這件事,但因1不大於3所以會給一個質0給d,這就是為何d=0的原因{:5_105:}
因該要寫
#include <stdio.h>
voidmain()
{
int a=5,b=4,c=3,d;
if(a>b&&b>c);
d=1;
printf("%d\n",d);
} c 没有(a>b>c这种写法
a>b && b <c a>b后式子为真值为1,1>3为假返回0
页:
[1]