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。

相关推荐
hoiii1876 分钟前
Mean Shift目标跟踪算法MATLAB实现
算法·matlab·目标跟踪
励志的小陈7 分钟前
复杂度算法题——旋转数组(三种思路)
c语言·数据结构·算法
tankeven8 分钟前
HJ151 模意义下最大子序列和(Easy Version)
c++·算法
Sirens.15 分钟前
对顺序表以及双向链表的理解
数据结构·链表
不光头强38 分钟前
力扣78子集题解
算法·leetcode·深度优先
独断万古他化41 分钟前
【算法通关】二叉树中的深搜:DFS 递归解题套路
算法·二叉树·深度优先·dfs·递归
㓗冽43 分钟前
2026.03.27(第三天)
数据结构·c++·算法
sali-tec43 分钟前
C# 基于OpenCv的视觉工作流-章44-直线卡尺
图像处理·人工智能·opencv·算法·计算机视觉
Magic--43 分钟前
经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析
算法·leetcode·职场和发展
Rooting++1 小时前
C 位域的作用
c语言