C语言条件表达式

a=1;b=2;c=3;d=4;
求a<b?a:c<d?c:d的值
求过程

结合方式是从右往左

a<b?a:c<d?c:d

等价:
a<b?a:(c<d?c:d)
如果 a<b 则返回 值为a
如果a>=b 返回(c<d?c:d)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-22
a<b?a:c<d?c:d 

先判断 a < b,1 < 2,成立,所以等于分号之前的,就是a,也就是1,其他的不用判断了

追问

为什么后面的式子不用判断了

第2个回答  2014-10-22
a<b //true
所以结果为a,即1