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。

相关推荐
小熳芋9 小时前
单词搜索- python-dfs&剪枝
算法·深度优先·剪枝
Xの哲學9 小时前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
bu_shuo9 小时前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
高洁0110 小时前
图神经网络初探(2)
人工智能·深度学习·算法·机器学习·transformer
爱装代码的小瓶子10 小时前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
思成Codes10 小时前
数据结构:基础线段树——线段树系列(提供模板)
数据结构·算法
JAY_LIN——811 小时前
C语言>字符 (strlen) | 字符串函数(strcpy、strcat)
c语言
虾..12 小时前
Linux 简单日志程序
linux·运维·算法
Trent198512 小时前
影楼精修-眼镜祛反光算法详解
图像处理·人工智能·算法·计算机视觉·aigc
蓝色汪洋12 小时前
经典修路问题
开发语言·c++·算法