int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/09 09:38:16
int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?
xN@_HBo>TT[EP N"$ЪUaɯx;fZ>{k:Z+$o y xT^#oސ/$he@VKRDV.Z)BBUS_-eҹ@,dP]o‡fEj?Ùe Χq~ˤ=YqW|qɺp֣ޢ3/MF3b eF@6k?R Tiu1_vƳ dS~ֹwXf"E-VuS"XV 8h_l6}1/;X|7p |^1"@} xG\KMf@Z"lCkPl}8q`-s(${r̷Ovw|2CH0ϦP%%8nH'AL 6U

int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?
int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?

int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?
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的值未改变.估是因为&&的原因.

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的值没有改变!!