在C语言中,设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为,过程

   更新日期:2024.05.20
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的值没有改变!!

n的值为2
a = 1, b = 2 ===> m = a > b ===> m = 0
&&支持短路运算
所以m = a > b的值为0 不用考虑后面的值了
所以n的值任然为2

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网