Linux|C语言的短路现象

&&和||的短路现象 设i= 0;j = 0
1、
if((++i) < 0) && (++j))
{
printf("%d,%d",i,j);
}
结果为:1,0
因为&&判断前面一个如果不符合就直接跳出,所以++j不会进行自加运算
2、
if(((++i) > 0)|| (++j))
{
printf("%d,%d",i,j);
}
结果为:1,0
因为||判断前面一个符合就直接跳出,j不会进行自加
【Linux|C语言的短路现象】
3、if的注意事项:if为非零成立,不是只有正数才能成立,负数也可以成立

    推荐阅读