C语言之逻辑运算符&&和||
前言:伍弟子最近在刷剑指offer的面试题21的时候给||逻辑运算符坑的惨惨滴,足足浪费了我好些时间,耽误了我西行的脚步;所以今天索性在此做一个小总结给自己警醒一哈;
1 &&和 2 ||这两个逻辑运算符应该是做开发以来最常用的两个运算符了,平常使用那是顺手拈来,怎么会有坑给人掉呢?可能也只能怪伍弟子水平不够了,咱话不多说,开整!
首先我们从概念上重新梳理一下&&和||:当我们在表达式之间使用&&和||的时候,程序是从左到右运行这些表达式的,并且在这个过程中只要有足够条件判断最后结果是对是错,程序则停止继续运行整个表达式,直接去运行下一个语句。看懂了吗,光说不练假把式,直接整两个例子:
// != 和 == 优先级都比 = 高
// !=, == 等关系运算符优先级比逻辑运算符高
// 所以此处我没有加括号()
bool a =