逻辑操作符中的短路

简介: C语言逻辑运算符按左到右顺序执行,先评估左侧表达式。如果左侧满足条件,右侧表达式不会求值,此现象称为短路。例如,`month >= 3 && month <= 5`,若month小于3,右侧不执行。同样,对于`month == 12 || month == 1 || month == 2`,若month为12,不需要检查其余条件。练习题中未提供具体代码,但给出了结果:a=2, b=3, c=3, d=5。

C语言逻辑运算符还有一个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的


如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值,这种情况称为短路


对于&&操作符:


if(month >= 3 && <= 5)


当左边表达式的结果为0(即为假)时,即使右边表达式不执行,整个表达式的结果也是0



对于||操作符


if(month == 12 || month ==1 || month == 2)


如果month=12,则不用再判断month是否等于1或者2,整个表达式的结果也是1


所以||操作符的左操作数的结果不为0时,就无需执行右操作数


练习:阅读代码,计算代码输出的结果



结果为:a=2 b=3 c=3 d=5

目录
打赏
0
0
0
0
18
分享
相关文章
|
10月前
什么是短路表达式?
什么是短路表达式?
162 1
|
10月前
|
短路表达式
短路表达式 短路表达式
79 0
|
10月前
|
逻辑运算符和短路求值
逻辑运算符和短路求值
62 0
|
6月前
|
巧用枚举消除条件判断
`shigen`是一位致力于撰写博客文章的作者,记录个人成长历程,分享真知灼见,并捕捉生活中的感动瞬间。在其最新文章中,通过枚举的方式展示了如何优雅地消除if-else判断,提供了一种更为简洁清晰的代码实现方案。利用自定义的`QuestionHandlerEnum`枚举类,实现了不同情况下的逻辑处理,展示了此方法在提升代码可读性和内聚性上的优势。与`shigen`一同探索编程之美,让每一天都有所进步。个人IP:shigen。
25 0
巧用枚举消除条件判断
C语言逻辑操作符的短路问题
C语言逻辑操作符的短路问题
|
10月前
|
逻辑操作符
条件操作符(三目操作符)是C语言中唯一的三元运算符,形式为:表达式1 ? 表达式2 : 表达式3。如果表达式1为真,执行并返回表达式2的结果;否则,执行并返回表达式3的结果。示例和练习展示了如何使用此操作符来比较和输出两个数中的较大值。
54 1
|
10月前
|
C++
关系运算符及其优先次序:编程中的比较逻辑
在编程中,关系运算符是用于比较两个值之间关系的一种重要工具。它们帮助我们根据这些关系(如相等、不等、大于、小于等)来做出决策或执行特定的代码块。理解关系运算符及其优先次序对于编写正确和高效的代码至关重要。
192 0
|
10月前
|
C++
c++逻辑和杂项运算符
c++逻辑和杂项运算符
68 0
【C语言初阶】带你轻松玩转所有常用操作符(3)——关系操作符,逻辑操作符,条件操作符,逗号表达式
【C语言初阶】带你轻松玩转所有常用操作符(3)——关系操作符,逻辑操作符,条件操作符,逗号表达式
143 0
【C语言初阶】带你轻松玩转所有常用操作符(3)——关系操作符,逻辑操作符,条件操作符,逗号表达式
逻辑操作符的短路现象
逻辑操作符的短路现象 1.逻辑操作符 2.逻辑操作符的短路
120 0