C语言逻辑操作符的短路问题

​

C语⾔逻辑运算符的一个特点------

它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是 保证的。

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

一、&& 逻辑与操作符

两边都为真则结果为真,一边为假则结果为假

对于&&操作符来说,左边操作数的结果是0的时候,右边操作数就不再执⾏ (左边操作数的结果是0的时候,右边不必判断也是假)

二、|| 逻辑或操作符

两边为假则为假,一边为真则为真

对于 || 操作符来说,左边操作数的结果是1的时候,右边操作数就不再执⾏ (左边操作数的结果是1的时候,右边不必判断也是真)

仅仅根据左操作数的结果就能知道整个表达式的结果,不再对右操作数进⾏计算的运算称为短 路求值。

下面上代码举例说明

一、逻辑与操作符短路求值问题

首先赋值运算符优先级低于逻辑运算符,其次逻辑操作符从左到右依次计算,++与逻辑运算符的优先级需要根据前置和后置来区分。

​编辑

二、逻辑与操作符短路求值对照组

​编辑

三、逻辑或操作符短路求值问题

​编辑

四、逻辑或操作符短路求值对照组

​编辑

​

相关推荐
用户83562907805137 分钟前
如何使用 Python 格式化 Excel 单元格中的长文本
后端·python
我命由我1234540 分钟前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
IT_陈寒42 分钟前
Java性能优化完全指南
前端·人工智能·后端
电子IT笔记1 小时前
对接群晖NAS,上传和删除踩坑记录
前端·后端
Mk598781 小时前
P4:把 Agent 的记忆搬进 Redis —— AgentScope-Java 工程化实战
后端
雨中飘荡的记忆1 小时前
Claude Code 入门必会:@、!、Slash Commands,一篇讲清楚
人工智能·后端
用户8356290780511 小时前
如何使用 Python 在 Word 文档中创建和格式化列表
后端·python
开心就好20251 小时前
uni-app 本地打包 iOS,在 Windows 上使用 KXBuild 产出 ipa 并上架的完整流程
后端·ios
百慕大三角1 小时前
从 CLAUDECODE 到 AI_AGENT:前端与 CLI 工具如何感知 AI 编码代理?
人工智能·后端·全栈
旋律4142 小时前
同义方法区别(增加类与删除类)
java·后端