c语言的一道关于逻辑表达式的题!

问题描述:

c语言的一道关于逻辑表达式的题!
关于表达式“2>1>0?3>2>1:4>3>2?5>4>3:6>5>4"的描述中,说法正确的是()
A:表达式语法错误.
B:表达式的值为0.
C:表达式的值为1.
D:表达式的值为-1.
请问为什么啊?我觉得该选C啊!
1个回答 分类:综合 2014-10-16

问题解答:

我来补答
1.关系运算符“>”的优先级比条件运算符“? :”高,并且,“>”运算方向是从左往右,“? :”运算方向是从右往左,根据该规则,可以计算上式.
2.上式等价于:(2>1>0 ? 3>2>1 :(4>3>2 ? 5>4>3 :6>5>4) )
从内往外展开,4>3>2等价于(4>3)>2,4>3为真,值为1,从而得1>2,该式的结果为假,值为0,所以4>3>2的值为0;
3.同理可以依次推出结果为0
 
 
展开全文阅读
剩余:2000