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。

相关推荐
MicroTech20258 分钟前
自适生长的点云智能:MLGO微算法科技基于双阈值与DDM的仿生式配准算法
科技·算法
还是奇怪11 分钟前
Python第四课:循环与数据结构深度解析
数据结构·windows·python·青少年编程·循环
yunsr16 分钟前
python作业1
开发语言·python·算法
清铎25 分钟前
项目_华为杯’数模研赛复盘_第二问
深度学习·算法·机器学习
v_for_van30 分钟前
力扣刷题记录1(无算法背景,纯C语言)
算法·leetcode·职场和发展
定偶31 分钟前
USB协议
c语言·网络·数据库
sjjhd65235 分钟前
C++模拟器开发实践
开发语言·c++·算法
七夜zippoe35 分钟前
大模型低成本高性能演进 从GPT到DeepSeek的技术实战手记
人工智能·gpt·算法·架构·deepseek
二年级程序员36 分钟前
qsort函数的使用与模拟实现
c语言·数据结构·算法·排序算法
ajole44 分钟前
C++学习笔记——C++11
数据结构·c++·笔记·学习·算法·stl