首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教这样的语句如何理解

2012-03-05 
请问这样的语句怎么理解。#includestdio.h voidmain(){inta1,b2,m0,kk1||(ma+b)printf( %d,%d ,

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


热点排行