下面这个程序中(m=a>b)&&(n=c<d);是什么意思

#include<stdio.h>
main()
{
int a,b,c,d,m,n;
a=5;
b=6;
c=7;
d=8;
m=2;
n=2;
(m=a>b)&&(n=c<d);
printf("%d",n);
getch();
}

(m=a>b)&&(n=c<d);
由于a>b,即5>6为假,所以m=0,0&&任何值都为0,所以(n=c<d);的运算被短路,没有进行运算,所以n仍然等于原值2,故输出2.

&&和||,也称为短路运算符,这个题目考察的就是这个功能
0&&任意值=0,1||任意值=1,后面任意值的表达式都被短路掉,不进行运算。
温馨提示:答案为网友推荐,仅供参考