int x=2,y=3,z=4; 则表达式x+y&&(x=y)的值为_____. 【参考答案】 1 为什么?
4个回答
展开全部
表达式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的区别,前者为赋值表达式,后者为逻辑表达式
(x=y),x+y=5,x=y是将y赋给x,故x=3.
5
&&
3
=
1
注意两点:1、运算优先级
2、x=y
与
x==y的区别,前者为赋值表达式,后者为逻辑表达式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
事情是这样的。
z
不为
0,所以!z为布尔值false,转化成int就是0
y
>
0,显然为布尔值true,转化成int就是1
x
+
1
就是3。
注意中间有一系列隐式类型转换
z
不为
0,所以!z为布尔值false,转化成int就是0
y
>
0,显然为布尔值true,转化成int就是1
x
+
1
就是3。
注意中间有一系列隐式类型转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x+y&&(x=y)
先算x+y=5,x=y=3,两边在进行逻辑与运算,5的二进制就是101,3的二进制011,进行运算
101
011
001
也就是1了
先算x+y=5,x=y=3,两边在进行逻辑与运算,5的二进制就是101,3的二进制011,进行运算
101
011
001
也就是1了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x+y=5,逻辑真
x=y,x=3,逻辑真,
5&&3,得1
x=y,x=3,逻辑真,
5&&3,得1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询