日期:2014-05-16  浏览次数:20602 次

&&好奇怪的现象
&&应该是两个都为真才会为真,那我们看下面代码,我们把b设置为0(false)或1(true),看现象.
发现他们都是输出test-2,为什么会这样呢?

测试代码如下:
int main(int argc, char* argv[])
{
int a = 5 ,b = 1/*0*/;
if(a < 0 && b){
printf("test-1 \n");
}else{
printf("test-2 \n");
}
return 0;
}

为什么会这样呢.

------解决方案--------------------
只要前面的 a<0 为假 ,就不会考虑b了