设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后n的值是?书上n的

设有:
int a=1,b=2,c=3,d=4,m=2,n=2;
执行 (m=a>b)&&(n=c>d)后n的值是?
书上n的答案是2.所以我看不懂
anister 1年前 已收到3个回答 举报

bestwilleng 幼苗

共回答了23个问题采纳率:91.3% 举报

先将a的值赋给m,即m=1,而b=2,显然m=a>b的值是0.由于是"与'运算,后面的式子可以不看,即不用执行了.整个表达式的值也为0.而n前后的值没有变化,n=2

1年前

14

jizetong 幼苗

共回答了8个问题 举报

&&并且判断,先走左边的m=a>b
=赋值,先走右边的a>b
a>b吗?不!所以a>b的值是0
m=0的值是0,赋值会用=左边的值作为整个语句的值
&&左边0,不走右边了,n=c>d没执行
最后n=2

1年前

2

3fgk 幼苗

共回答了1193个问题 举报

n是false吧,逻辑与的第一部分判断为false,第二部分就不会去判断了,取默认值为false

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.028 s. - webmaster@yulucn.com