作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/04/28 00:29:58
int x=43,y=42;则表达式x>y?10:11>y?'a':'z'的值为多少
求详细过程,谢谢
int x=43,y=42;则表达式x>y?10:11>y?'a':'z'的值为多少
如果写成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这个判断式