int x=43,y=42;则表达式x>y?10:11>y?'a':'z'的值为多少

问题描述:

int x=43,y=42;则表达式x>y?10:11>y?'a':'z'的值为多少
求详细过程,谢谢
1个回答 分类:数学 2014-10-25

问题解答:

我来补答
如果写成x>y?10:(11>y?'a':'z')估计就能看懂了
如果x>y成立,则执行?后面的语句,就是10.
如果不成立,则执行:后面的语句,就是11>y?'a':'z'.接下来判断同理
x>y很显然成立,所以值是10
再问: 你的解释看懂了 可为什么写成x>y?10:(11>y?'a':'z') 而不是写成(x>y?10:11)>y?'a':'z' 呢
再答: 这里是两个三目运算符,同级运算肯定是从左往右,按照最小匹配的原则。
既然能匹配到x>y这个判断式,肯定不会去匹配(***)>y这个判断式
 
 
展开全文阅读
剩余:2000