关于短路操作

简介: 在逻辑与&& 或者 逻辑或 || 的运算中,表达式1满足要求,表达式2不再运算的操作即为短路操作

一、什么是短路操作


在逻辑与&& 或者 逻辑或 || 的运算中,表达式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;
}


目录
相关文章
|
13天前
什么是短路表达式?
什么是短路表达式?
17 1
|
13天前
|
JavaScript
短路表达式
短路表达式 短路表达式
24 0
|
13天前
|
Java
逻辑运算符和短路求值
逻辑运算符和短路求值
25 0
|
1天前
|
C语言
逻辑操作符中的短路
C语言逻辑运算符按左到右顺序执行,先评估左侧表达式。如果左侧满足条件,右侧表达式不会求值,此现象称为短路。例如,`month &gt;= 3 && month &lt;= 5`,若month小于3,右侧不执行。同样,对于`month == 12 || month == 1 || month == 2`,若month为12,不需要检查其余条件。练习题中未提供具体代码,但给出了结果:a=2, b=3, c=3, d=5。
6 0
|
8天前
|
算法 程序员 C++
C++程序中的循环结构:控制程序重复执行的关键
C++程序中的循环结构:控制程序重复执行的关键
13 2
|
7月前
|
存储
短路时间常数法
短路时间常数法是一种用于分析电路的动态响应的方法,特别适用于分析电路的短路响应。它基于电路的短路时间常数,用于描述电路响应的快慢程度。
164 0
|
9月前
|
JavaScript 编译器
🎖️typeScrpt中如何断言条件?
`asserts` 语句在 TypeScript 3.7 版本中首度亮相。它是一种特别类型的函数签名,旨在指示 TypeScript 编译器从某特定点开始某个特定条件为真。实际上,这些断言就像 if-then-error 语句的宏一样,赋予我们能力,能够在函数块的开端封装前置条件检查,以此提升代码的可预测性和稳定性。
51 0
|
10月前
逻辑判断使用
逻辑判断使用
29 1
|
Go 开发者
短路与和短路或|学习笔记
快速学习短路与和短路或
175 0
|
10月前
条件测试逻辑判断应用
条件测试逻辑判断应用
37 2

热门文章

最新文章