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

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

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

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

一、&& 逻辑与操作符

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

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

二、|| 逻辑或操作符

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

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

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

下面上代码举例说明

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

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

​编辑

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

​编辑

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

​编辑

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

​编辑

相关推荐
MacroZheng5 小时前
Claude Code官方桌面端正式发布,夯爆了!
java·人工智能·后端
IT_陈寒5 小时前
React的useEffect依赖数组把我坑惨了,真相其实很简单
前端·人工智能·后端
Oneslide6 小时前
ubuntu 手动安装claude
后端
GetcharZp14 小时前
玩转 Linux 机器视觉:手把手带你搞定 Ubuntu 下海康工业相机 C++ SDK
后端
星星在线17 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒18 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x18 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
袋鱼不重20 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
用户83562907805120 小时前
使用 Python 操作 Word 内容控件
后端·python