有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选项是怎样的啊,不明白是怎么比较

A 'x' && 'y'
实际运算的是字母x和y的ascii码,都不为0,所以视为真,表达式为真

C x||y+z&&y-z
||运算符先计算左边的表达式,若为真右边的表达式就不再计算,整个表达式即为1

D !((x<y)&&!z||1)
先判断(x<y)&&!z||1,前面不需要计算,因为最后||右边为真,所以表达式为真
取反为0,所以!((x<y)&&!z||1)为0

选D
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-27
A: 'x'>0 -> 1(ASC码) 'y'>0 ->1 => 1&&1=1
C:y+z=9>0 ->1 y-z=-1 ->1(转换后不为0) 3||1&&1=1
D:x<y ->1 !z ->0 (x<y)&&!z=0 0||1=1 !1=0
相似回答