帮忙看下C语言的这道题

来源:百度知道 编辑:UC知道 时间:2024/05/22 19:34:23
已知:int x=3,y=4,z=5;下列表达式的值为假的是?
A:'x' && 'y'
B: x&&y&&z
C: x||y+z&&y-z
D: !( (x<y&&!z||1)

摆脱帮看下

A:'x' && 'y'
B: x&&y&&z
C: x||y+z&&y-z
D: !( (x<y&&!z||1)
按理说应该选D啊!可是为什么只有一半括号呢!最起码ABC都不对!

D
A:'x' && 'y' //'x''y'都是字符不是变量,字符ASCII码都>0,所以是真
B: x&&y&&z //x,y,z>0,所以是真
C: x||y+z&&y-z //x>0,所以x||y为真,后面在怎么加整体都>0了,所以还是真
D: !( (x<y&&!z||1) //x<y真,!z假,但是后面是个或||,1算真,最后括号里是真,一个!取逻辑反,整体就假了

A选项素ASCII码的比较,两个非0数相与为真
B选项素3个非零数相与为真
C选项同上
D相当于!(1&&0||1),即!1,即假
所以选D

D

D

D