黑马程序员技术交流社区

标题: 逻辑运算符短路问题 [打印本页]

作者: yuyang    时间: 2014-12-28 23:01
标题: 逻辑运算符短路问题
/*

   什么是逻辑运算符的短路问题:

       &&   口诀:一假为假  

       A && B
  
       如果 A为假(0) 结果为假 ,B就不执行了,这就是 逻辑与短路

       ||   口诀:一真为真
  
       A || B

       如果 A为真(1) 结果为真,B就不执行了,这就是逻辑或的短路



*/


#include <stdio.h>

int main(int argc, const char * argv[]) {
   
    int x,y,z,result=-1;
    int a=3,b=4;
    x = y = z =0;
    //       ++x || (++y && z++)   x = 1,y=1,z=1;
    //         1 || 1    &&  1
   
    //实际:   逻辑或短路了
    //result = (++x) || ((++y) && (z++));
    // result ?   x,y,z
   
    //实际:   逻辑与短路了
    result = x && y++;   //result 0    x = 0  y=0
   
    //result = a<2 && b==4 || a<5;   //0
   
    printf("result = %d\n",result);
    printf("x = %d,y = %d,z = %d\n",x,y,z);
   
   
    return 0;
}

作者: 浅听    时间: 2014-12-28 23:03
逻辑运算在程序里面用的还是比较多的吧
作者: 午后的猫    时间: 2014-12-29 00:35
这东西理解就好了吧,没必要整套路去背
作者: yuyang    时间: 2014-12-29 20:59
浅听 发表于 2014-12-28 23:03
逻辑运算在程序里面用的还是比较多的吧

还好!!!!!!!!
作者: yuyang    时间: 2014-12-29 21:00
浅听 发表于 2014-12-28 23:03
逻辑运算在程序里面用的还是比较多的吧

还好!!!!!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2