用一个例子来说明:
int i = 0;
for(int j = 0; j < 8; j++){
i++;
}
当我们要利用i来判定一个函数是否要调用时,根据中文要么。。。要么。。。很容易写成下面这样。
①若当i不等于1或5时调用:
if( i != 1 && i != 5){}
但实际上根据短路原理,后面 “i != 5” 没有意义。
那么改写 "||" 呢?也是不行的,只是简单改符号,就变成了永真。
所以不管是 i 只有1、5的时候调用函数,还是 i 不等于1、5的时候调用,都应该用 "==" 来判断。
i 等于1、5的时候调用函数:
if( i == 1 || i == 5)
i 不等于1、5的调用函数:
if( !( i == 1 || i == 5 ))