为什么这道题的运行结果等于2#includeint main(){int a=1,b=2,c=3,d=4,m=2,n=2;int x=(m=a>b)&&(n=c>d);printf("%d\n",n);return 0;}

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 10:07:56

为什么这道题的运行结果等于2#includeint main(){int a=1,b=2,c=3,d=4,m=2,n=2;int x=(m=a>b)&&(n=c>d);printf("%d\n",n);return 0;}
为什么这道题的运行结果等于2
#include
int main()
{
int a=1,b=2,c=3,d=4,m=2,n=2;
int x=(m=a>b)&&(n=c>d);
printf("%d\n",n);
return 0;
}

为什么这道题的运行结果等于2#includeint main(){int a=1,b=2,c=3,d=4,m=2,n=2;int x=(m=a>b)&&(n=c>d);printf("%d\n",n);return 0;}
a>b为假后面整个&&都为假编译程序不会再去执行后面的c>d,即不会给n重新赋值,结果n还为2.

主函数是:给整型变量n赋予常量值2(n=2),输出n的值,运行时肯定是输出2。
我想,你应该是想输出x吧?那后边不是有(n=c>d)吗?那个为什么不起作用?若是想输出x的值,printf("%d\n",n);应改为“printf("%d\n",x);我就是要问输出n的值,后边(n=c>d)不是赋值语句吗?为什么不起作用?...

全部展开

主函数是:给整型变量n赋予常量值2(n=2),输出n的值,运行时肯定是输出2。
我想,你应该是想输出x吧?

收起