C语言 程序运行的结果,在线等,急~~

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:56:58
以下程序输出的结果是______ 。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
我感觉答案应该是1,但书上说是0.是书上错了还是我错了?感觉很简单的一个题呀。
下面几个都说得挺明白,谢谢。

是0,分析如下:
a>b>c 也就是 (a>b)>c;
a>b 的结果是多少?当然是 1了,那么
(a>b)>c 也就可以化成 1>c ,c为3,1>c 结果为0
所以 a>b>c 结果为 0

d==0:
d=((a>b)>c); 不用看a,b,因为a>b不是0就是1,而这两个数都不可能大于3.所以d==0

答案应该是:0
因为:a>b成立,逻辑值即为:1
再将`1和c 比较,就不成立了,即为:0
再将0赋给a ,所以结果为:0

是0
a>b的结果是1,所以a>b>c的结果是0