int x=2,y=3,z=4; 则表达式x+y&&(x=y)的值为_____. 【参考答案】 1 为什么?

[复制链接]
查看11 | 回复3 | 2018-5-18 10:30:50 | 显示全部楼层 |阅读模式
表达式x+y&&(x=y)等价于(x+y)&& (x=y),x+y=5,x=y是将y赋给x,故x=3.5 && 3 = 1 注意两点:1、运算优先级2、x=y 与 x==y的区别,前者为赋值表达式,后者为逻辑表达式...
回复

使用道具 举报

千问 | 2018-5-18 10:30:50 | 显示全部楼层
x+y&&(x=y)先算x+y=5,x=y=3,两边在进行逻辑与运算,5的二进制就是101,3的二进制011,进行运算101
011
001也就是1了...
回复

使用道具 举报

千问 | 2018-5-18 10:30:50 | 显示全部楼层
x+y=5,逻辑真x=y,x=3,逻辑真,5&&3,得1...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行