一道简单的C语言选择题为什么选B?
设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为A)1B)2C)3D)4请详细解释一下...
设有:int a=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后n的值为
A)1 B)2 C)3 D)4
请详细解释一下 展开
执行(m=a>b)&&(n=c>d)后n的值为
A)1 B)2 C)3 D)4
请详细解释一下 展开
展开全部
这是个与运算问题,只要有一个为0就是0,所以当m=a>b这个式子执行之后,整个与运算就是0了,系统就不用再执行另外的一条式子,而是跳到下一语句执行了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个与判断,两个括号表达式。
&&判断有个特点就是从左向右。如果第一个表达式不成立。第二个表达式就不行进行。前面的(m=a>b)按优先级。先a>b得结果不成立为0再执行m=0.整个前面的括号表达式的值为0.
不管后面的值为多少&&后都为0所以为了提高速度后面的就没有意义进行运算了。所以n的值没有改变。还是为初始值2
所以选B
&&判断有个特点就是从左向右。如果第一个表达式不成立。第二个表达式就不行进行。前面的(m=a>b)按优先级。先a>b得结果不成立为0再执行m=0.整个前面的括号表达式的值为0.
不管后面的值为多少&&后都为0所以为了提高速度后面的就没有意义进行运算了。所以n的值没有改变。还是为初始值2
所以选B
参考资料: 脑子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&&是逻辑与运算符 当两个都为真的时候才是真的 前面的如果为真才看后面的 如果前面的是假就不用看了 m=a>b是假所以n 不变为2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询