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

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

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

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

一、&& 逻辑与操作符

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

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

二、|| 逻辑或操作符

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

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

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

下面上代码举例说明

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

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

​编辑

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

​编辑

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

​编辑

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

​编辑

相关推荐
汤姆yu2 分钟前
基于springboot的家具商城销售系统
java·spring boot·后端
Rexi7 分钟前
Go的代码组织结构
后端
ZhengEnCi12 分钟前
SQL 分组排序限制查询技术解析-GROUP-BY-ORDER-BY-DESC-LIMIT 实战应用
后端·sql
文心快码BaiduComate15 分钟前
弟弟想看恐龙,用文心快码3.5S快速打造恐龙乐园
前端·后端·程序员
杰瑞学AI25 分钟前
我的全栈学习之旅:FastAPI (持续更新!!!)
后端·python·websocket·学习·http·restful·fastapi
bcbnb30 分钟前
使用BurpSuite进行网页和APP抓包的完整指南
后端
Starriers33 分钟前
AI - Java AI - LangChain4J 实战
人工智能·后端
语落心生34 分钟前
GPU负载方式详解
后端
用户51681661458411 小时前
使用全能电子地图下载器MapTileDownloader 制作瓦片图层详细过程
前端·后端