假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/17 08:26:23
![假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是6,为什么是6呢?](/uploads/image/z/1964524-4-4.jpg?t=%E5%81%87%E8%AE%BE%E6%9C%89%E6%9D%A1%E4%BB%B6+int+x%3D1%2Cy%3D2%2Cz%3D3%3B%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8Fz%2B%3Dx%3Ey%3F%2B%2Bx%3A%2B%2By%E7%9A%84%E5%80%BC%E6%98%AF6%2C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF6%E5%91%A2%3F)
xNA_HN! 0.4;
,#LW̉Wg _յ|1Ӷ͌huΣW~-AZλXUJ7aB⇄$dSB<ŧ̍.|N51Ȇi/|o+WV}ee ܪsPp]dR|瓬ڌ&?$Pm(] ~Wte4jl^ 'N6F[;ހϊ>)Ve/D_y6ί܋lmU"
假设有条件 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