int a=1, b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?
3个回答
展开全部
n=2,因为m=(a>b);
解释为:如果a大于b,那么m等于true(即1);否则m等于false(即0);
n=c>d也是这个意思.
再有(m=a>b)&&(n=c>d)首判断a>b是否为真,因为a=1,b=2.所以a>b为假。m=0,接着就不进行
n=c>d。故n的值未改变。估是因为&&的原因。
解释为:如果a大于b,那么m等于true(即1);否则m等于false(即0);
n=c>d也是这个意思.
再有(m=a>b)&&(n=c>d)首判断a>b是否为真,因为a=1,b=2.所以a>b为假。m=0,接着就不进行
n=c>d。故n的值未改变。估是因为&&的原因。
参考资料: http://zhidao.baidu.com/question/284901197.html
展开全部
n的值仍然为2,没有改变!
过程:
先计算a>b,值为0,赋给m的值为0,表达式m=a>b的值也是0。
对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,因此,C语言不再对表达式n=c>d进行计算。因而n的值没有改变!!
过程:
先计算a>b,值为0,赋给m的值为0,表达式m=a>b的值也是0。
对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,因此,C语言不再对表达式n=c>d进行计算。因而n的值没有改变!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m=0
n=2
a>b不成立m=0;
又因为(m=a>b)为0,所以不执行(n=c>d),即n的值不变。这是&&的特性。
n=2
a>b不成立m=0;
又因为(m=a>b)为0,所以不执行(n=c>d),即n的值不变。这是&&的特性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询