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。

相关推荐
AndrewHZ4 分钟前
【图像处理基石】如何入门图像金字塔算法技术?
图像处理·算法·计算机视觉·cv·拉普拉斯变换·图像金字塔
_w_z_j_8 分钟前
全排列问题(包含重复数字与不可包含重复数字)
数据结构·算法·leetcode
7ioik9 分钟前
jvm垃圾回收算法?
jvm·算法
@小码农12 分钟前
LMCC大模型认证 青少年组 第一轮模拟样题
数据结构·人工智能·算法·蓝桥杯
dragoooon3424 分钟前
[hot100 NO.13~18]
算法
WangLanguager25 分钟前
Prototypical Networks 在图像识别中表现如何?
算法
我是你们的明哥26 分钟前
A*(A-Star)算法详解:智能路径规划的核心技术
后端·算法
我是你们的明哥32 分钟前
从 N 个商品中找出总价最小的 K 个方案
后端·算法
民乐团扒谱机40 分钟前
【微实验】谱聚类之大规模数据应用——Nyström 方法
人工智能·算法·机器学习·matlab·数据挖掘·聚类·谱聚类
CoderYanger42 分钟前
A.每日一题——3606. 优惠券校验器
java·开发语言·数据结构·算法·leetcode