int a=1,b=2,c=3,d=4,m=2,n=2; (m=a>b)&&(n=c>d)
题目是执行下面的那个表达式,问最后n的值,答案为2。但是它下面不是应该先比较再赋值吗,怎么n的值不变呀?
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
int a=1,b=2,c=3,d=4,m=2,n=2;(m=a>b)&&(n=c>d)n最后的值为2先计算a>b,不成立,值为0,将0赋值给m,m=0,表达式m=a>b的值也是0。对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,所以就是说,C语言不再对表达式n=c>d进行计算,n的值没有改变,n还是2。希望对题主有所帮助,望采纳!!
报告相同问题?