经过以下语句定义,int x=1,y=2,z=3;
表达式 z+=x>y?++x:++y的值为?
结果为 6
还有书上的一句话我也不懂
经过以下语句定义,int x=1,y=2,z=3;
表达式 z+=x>y?++x:++y的值为?
结果为 6
还有书上的一句话我也不懂
你划线的那句话意思就是z+=x>y?++x:++y要按(z+=(x>y?++x:++y))的顺序进行运算
根据++x是先让x加一然后返回值,所以原式可以认为(z+=(x>y?++x:3))->(z+=(x>y?2:3))->(z+=(2>3?2:3))->(z+=3)的计算步骤进行。
注意:三目运算只会执行为真的表达式,也就是说x++并没有被执行,楼下的回复是有问题的