假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 01:54:02
假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?

假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?
假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?

假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?
,比目运算符(?:) 和> 的优先级都比 += 高.
所以上式可以这样看 z = z + (x>y?++x:++y)
z = z + (++y) = 3 + (2+1) = 6

先判断后面的条件 因为X大于Y不成立 所以返回++Y也就是3 再加到Z里所以是6