一、什么是短路操作
在逻辑与&& 或者 逻辑或 || 的运算中,表达式1满足要求,表达式2不再运算的操作即为短路操作
二、详解
例1:逻辑与&&,若表达式1为假,则整个表达式结果一定为假,表达式2不再计算
如下,a < 0 为假,整个表达式结果为假,b = a 不再计算,结果为 a = 5,b = 0 ,c = 0
int main() { int a = 5; int b = 0; int c = a < 0 && (b = a); printf("%d %d %d", a, b, c);//5 0 0 return 0; }
例2:逻辑或 || ,若表达式1为真,则整个表达式结果一定为真,表达式2不再计算
如下,a > 0为真,整个表达式结果为真,b = a不再计算,结果为 a = 5,b = 0 ,c = 1
int main() { int a = 5; int b = 0; int c = a < 0 && (b = a); printf("%d %d %d", a, b, c);//5 0 0 return 0; }