C语言结果 int a=5,b=6,c=7,d=8,m=2,n=2; (m=a>b)&&(n=c>d); printf(

问题描述:

C语言结果 int a=5,b=6,c=7,d=8,m=2,n=2; (m=a>b)&&(n=c>d); printf("%d",n); 为什么n=2?不是0?
1个回答 分类:综合 2014-11-20

问题解答:

我来补答
这个是短路的概念、
因为m=a>b这个为假的,所以值为0,0并且任何一个值都为假,所以电脑会跳过后面的语句.
所以n=c>d这条语句是没有做的.
所以表达式为0;
然而N的值没有改变
这个并且和或的关系的时候,会产生短路.
 
 
展开全文阅读
剩余:2000
上一页:ghhhhh
下一页:概括每段段意
也许感兴趣的知识