C语言的短路现象

来源:互联网 发布:软件管理系统php 编辑:程序博客网 时间:2024/05/03 07:52

&&和||的短路现象

设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不会进行自加


3、if的注意事项:if为非零成立,不是只有正数才能成立,负数也可以成立

0 0