C语言—逻辑运算符中的短路求值

在利用 && 和 || 等操作运算符进行逻辑运算时,只要最终的运算结果可以确定,运算就终止。

比如:
a=3,b=3,那么(a3)&&(b=3),因为两边均为真,所以与运算&&结果为真;
a=3,b=3,那么(a3)||(b=3),因为左边已经为真,无论右边是否为真,或运算||结果都为真,所以(a3)运算完后结果确定,运算到此结束,不需要再去判断(b=3)。

c 复制代码
#include <stdio.h>
int main() {
	int a = 3, b = 3;

	(a = 4) && (b = 5);
	 printf("a的值为%d, b 的值为%d\n",a,b);		 
	(a = 1)||(b = 7);
	printf("a 的值为%d, b 的值为%d\n", a, b);
	// system("pause");

	return 0;
	
}
c 复制代码
a 的值为4, b 的值为5
a 的值为1, b 的值为5
请按任意键继续. . .

(a = 1)||(b = 7);该语句触发短路求值,语句中的(b = 7)并没有执行到,所以b还是5。

相关推荐
weixin_307779136 小时前
从“人操作仪器”到“Agent 自主发现”:OPL 金属材料自驱动实验室 MVP 技术论述
开发语言·人工智能·算法·架构
释厄6236 小时前
01AB 基本元理——任何智能体的三元法理·0=1→0≠1法理跃迁为天理
人工智能·windows·算法·microsoft·机器学习
Omics Pro6 小时前
经典多组学整合算法→商用云平台
数据库·人工智能·算法·机器学习·自然语言处理
ting94520007 小时前
深度拆解|1752vc Pitch Deck Analyzer 底层技术架构与核心算法原理
人工智能·算法·架构
贾斯汀frank7 小时前
基于 Java + Playwright 实现网站自动访问与数据采集
算法
早睡早起不秃头&7 小时前
【架构】- 移动机器人系统的插件化:让定位算法独立演进
算法·架构
mmmmath_37 小时前
LeetCode.020.有效的括号
数据结构·算法·leetcode
Doubbbbbbble云8 小时前
算法优化中的数学建模与理论界限分析4
算法·数学建模
垆边人似月.8 小时前
华为机考题:字符个数统计
数据结构·算法·华为
en.en..8 小时前
Linux 进程退出exit(函数)
java·开发语言·算法