请教这样的语句如何理解
请问这样的语句怎么理解。
#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;
#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;