C语言短路简介
C语言的短路现象一般出现在逻辑运算符上,它有⼀个特点,就是总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。
如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。
逻辑与的“短路”
逻辑与操作符&&的规则是:只要有任何一边为假,那么结果就为假,只有两边同时为真,那么结果才为真,那么逻辑与怎么产生短路的呢?比如以下代码:
if(month >=4 && month <=6)
上述代码会先判断输入的month是否大于等于4,如果输入的month的值不大于等于4,也就是已经有一边的结果为假,那么接下来就不会判断后面的小于等于6的条件,会直接返回假值,这就叫“短路”。如果输入的month的值大于等于4,才会对后面的小于等于6作判断。
逻辑或的“短路”
对于逻辑操作符||是怎么样的呢?比如以下代码:
if(month == 12 || month==1