
c语言的一道题,第六题abc错在哪呢?
2个回答
展开全部
在C中,非0真0,0为假,用作数值运算的的时候,真是1,假是0。
a是两个字符'x'和'y'做与操作,因为x和y的ascii码都不是0,所以结果自然不是0,结果为1
b中x<=y,相当于3<=4,结果为真也就是1
c中x||y+z&& y-z,因为||优先级比&&低,所以相当于x||(y+z &&y-z),因为x不为0,所以后面已经不用看了(逻辑短路),整个表达式也为真
a是两个字符'x'和'y'做与操作,因为x和y的ascii码都不是0,所以结果自然不是0,结果为1
b中x<=y,相当于3<=4,结果为真也就是1
c中x||y+z&& y-z,因为||优先级比&&低,所以相当于x||(y+z &&y-z),因为x不为0,所以后面已经不用看了(逻辑短路),整个表达式也为真
展开全部
A 'x'&&'y' 表示'x'和'y'字符,在ascii码中是120和121,所以a选项等于120&&121,结果为1
B x<=y 代入数据则为,3<=4,显然正确,所以为true,也就是1
C 可以加括号(x||y+z)&&y-z => (3||4+5)&&4-5 => 1&&(-1) => 1
D !((x<y)&&!z||1) => !(((x<y)&&!z)||1) => !(((3<4)&&!5)||1) => !((1&&0)||1) => !(0||1) => !1 => 0
B x<=y 代入数据则为,3<=4,显然正确,所以为true,也就是1
C 可以加括号(x||y+z)&&y-z => (3||4+5)&&4-5 => 1&&(-1) => 1
D !((x<y)&&!z||1) => !(((x<y)&&!z)||1) => !(((3<4)&&!5)||1) => !((1&&0)||1) => !(0||1) => !1 => 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询