如有声明语句int x=1,y=2,z=3;则执行语句z=x+=2||y--;后变量x,y,z的值是 ( )。 这个的答案是2,2,2,为什么

2025-02-03 16:01:53
推荐回答(2个)
回答(1):

z=x+=2||y--;
按照运算的优先级和顺序,那是这样的:
z=(x+=2||(y--))
这里y--是没有被执行的,就是y还等于2

因为y--和2都是非零的,所以2||y--是逻辑“OR”的结果,就是1.
那么x+=2||y--就是X+=1,即X=X+1=2。
所以Z=2。

回答(2):

运算符优先级 --大于 + 大于 <= 大于 != 大于 || 大于 =