c语言题目。。求解啊。。。。

#include<stdio.h> int main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d"

d=(a>b>c);
这个式子是这样的
先比较a,b这里a>b
那么这个式子是真的
结果为1,然后拿1和C比较
1>c是假的,所以是0
最后D的值为零
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-10
我看最后一句应该是 printf("%d",d);
a>b>c这个式子是从左向右判断的相当于(a>b)>c,所以应该是先判断a>b,这是真的,返回值是1.
接下来相当于判断1>c,这是假的,返回值是0;
所以输出结果是0
这个题目考察是运算符的优先级,建议自己在电脑上实际编程操作一次就能明白。
第2个回答  2012-02-10
b>c=1 5>1=1 d=1
d=1
有问题再问 采纳哈
第3个回答  2012-02-10
同学,你要记住这类题在做的时候要考虑 运算符,优先级,结合性。印象中大于号的结合性是从左向右。a=5大于b=1 那么a>b这个表达式为真,此时a>b这个式子的值为1.继续判断,1>c,为假,那么括号内式子的值就是0.即d=0.。。。应该是这样 。
如果大于号的结合性是从右向左。。。同理啦,结合方向我确实忘记了。。。
第4个回答  2012-02-10
这是什么 我怎没见过 这玩意能求吗
相似回答