我们经常使用逻辑运算符来进行诸如此类的运算:
if (a == b && b == c )
这里使用&&
来保证两个表达式都为true
时if
里面的语句才被执行。
但是,必须注意的是,当使用类似于a==b&&b++
时,只有a==b
是false
则,b++
不会被执行。
C语言中存在类似的机制来提高代码的运行速度,但却因此带来了这样的问题:* 一但&&左边为假(此时就可以的判断整个表达式的值为false),右边便不会再运行 *
类似的:
对于a == b|| a++
:若a==b
为true
,a不会被加1