53. 若有定义:int x=3,y=4,z=5;则值为0的表达式是( ). A. 'x'&&'y' B. x<=y C. x

有int x=3,y=4,z=5;则下面表达式中值为0的是
A)'x'&&'y' B)x<=y C)x||y+z&&y-z D)!((x<y)&&!z||1)
那个A,C,D选项是怎样的啊,不明白是怎么比较

逻辑表达式,非0就是1.
'x'&&'y'两个字符与,非0。
x<=y,1。
x||y+z&&y-z →1+z&&y-z→1+1-z→-3,非0。
!((x<y)&&!z||1)→!(1&&!z||1)→!(0||1)→!(1)->0。
所以选D追问

C选项那个不是y-z在z&&y之前先一步运算的吗?

追答

对,这个我说错了,+-运算优先级高于&&||
x||y+z&&y-z →3||9&&-1 →1。还是选D

温馨提示:答案为网友推荐,仅供参考
相似回答