main( ) { int a=1,b=2,c=3; printf(“%d”,c>b>a); }

为什么输出是0
2024-11-15 07:18:15
推荐回答(5个)
回答(1):

是这样子的
如果单独只printf("%d",C>b);//或者是b>a输出是1
但是数学上的表达式c>b>a直接放到计算机里面,解析的过程是不一样的
先判断c>b返回真假,为真即为1,为假即为0
c>b结果是1 然后再继续 1>a
结果为零。
再不然,你把a初始化为0,结果为1

回答(2):

输出结果应该是1
c=a,把a的值赋给c,c不等于0,所以if条件为真,输出c
也是就1了.

回答(3):

因为c>b>a是一个关系表达式,关系表达式只会返回两个值,一个是true 一个是false
c>b>a的关系是不成立的所以返回false 在C和C++中0代表false假 1代表true真

回答(4):

他是这么判断的先判断c>b这个是假的返回0,然后用0和a比较也是假的,所以输出0

回答(5):

你改下格式printf(“%d>%d>%d”,c,b,a); 试试