一道c的问题 急!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/30 21:04:54
int x=1 y=1 求表达式的值!x||y--
表达式是(!x||y--)

回答补充问题:
计算顺序是:
1、!x 为 0
2、0 || y 因为y=1 所以表达式为1
3、y-- 为 y=0
所以最后结果为:
x=0,y=0,但表达式的结果为1

x || y--
||左侧表达式为真的时候,||表达式就为真,右侧表达式不参与计算
同理x && y--的话,&&左侧表达式为假的话,&&表达式就为假,右侧表达式不参与计算

所以最后,(x||y--)=1,x=1,y=1

表达式的值是 1
因为自减(--)优先级高于逻辑或(||),y--等于0,1||0就是1喽

由于x=1已经保证逻辑"或"为真,所以y--并不运算;最终运算结果为1,x=1,y=1.

还是1,无论是--y还是y--,没什么区别。

5楼正解