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。

相关推荐
ltqshs17 小时前
嵌入式C语言-指针数组和数组指针
c语言·数据结构·算法
小小宫城狮17 小时前
BPE 算法原理与训练实现
算法·llm
胡萝卜不甜17 小时前
算法宗门---广度有优先搜索BFS
算法·宽度优先
逑之17 小时前
C语言笔记3:分支与循环
c语言·开发语言·笔记
逑之17 小时前
C语言笔记6:调试
c语言·笔记
独自破碎E17 小时前
【归并】数组中的逆序对
java·数据结构·算法
f***241118 小时前
MATLAB高效算法优化实战指南
开发语言·算法·matlab
Blossom.11818 小时前
大模型自动化压缩:基于权重共享的超网神经架构搜索实战
运维·人工智能·python·算法·chatgpt·架构·自动化
优选资源分享18 小时前
MD5 哈希值校验工具 v1.5.3 实用文件校验工具
算法·哈希算法
AI科技星18 小时前
能量绝对性与几何本源:统一场论能量方程的第一性原理推导、验证与范式革命
服务器·人工智能·科技·线性代数·算法·机器学习·生活