int x=1,y=3,z;执行语句z=x>y?++x:y--;后,y和z的值为多少?为什么?

2025-03-05 05:33:58
推荐回答(1个)
回答1:

根据优先级加等效括号:
z=[x>y?(++x):(y--)];
++x 返回x+1=1+1=2同时x变为2
y--返回y=3同时y变为2
x>y即2>2为假,问号运算符的结果取冒号右边的(y--)返回值,也就是2
所以z=2
综上,y=2 , z=2