读书人

请教这样的语句如何理解

发布时间: 2012-03-05 11:54:02 作者: rapoo

请问这样的语句怎么理解。
#include "stdio.h "

void main()
{
int a=1,b=2,m=0,k;
k=1||(m=a+b);
printf( "%d,%d ",k,m);
}

结果是 1,0
m 作了复值运算,怎么和1作了||运算后,m就是0了?

[解决办法]
1||(m=a+b);
短路运算,当前面为真,就不再运行后面的条件

类似的还有
0 && (m=a+b);
当前面为假,也就不再运行后面的条件

就好比,
if(...)
m=a+b;
else
NULL;


读书人网 >C语言

热点推荐