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。

相关推荐
m0_547486663 分钟前
《数据结构 (C语言)》期末试卷及答案(10套)2026版
c语言·开发语言·数据结构
八月的雨季 最後的冰吻4 分钟前
FFmepg-- 42-ffplay.c 线程安全机制深度分析
c语言·安全·ffmpeg
_不会dp不改名_8 分钟前
leetcode_3727 最大平方交替和
linux·算法·leetcode
信奥卷王15 分钟前
[GESP202509 六级] 货物运输(含视频)
算法
逐光者93324 分钟前
滤波器的 R 与 C 如何选择:从截止频率到工程实践
c语言·开发语言·r语言
余额瞒着我当琳39 分钟前
C++算法学习篇5--二分查找法
c++·学习·算法
起个名字费劲死了1 小时前
基于灰度/形状的2D模板匹配
算法
杜 硕1 小时前
归并排序详解
数据结构·算法·排序算法
水饺编程1 小时前
第2章:Linux 基础,whoami 命令
linux·c语言·汇编
科技观察哨1 小时前
国产纳米定位平台与精密位移台量产能力图谱(2026):Z轴压电、XYθZ、六自由度并联与光刻/检测/装配选型指南
网络·人工智能·算法