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。

相关推荐
凯瑟琳.奥古斯特1 分钟前
丑数II C++三指针解法(力扣264)
数据结构·c++·算法·leetcode·职场和发展
j_xxx404_5 分钟前
力扣算法:用栈消消乐,巧解相邻重复与退格字符串
c++·算法·leetcode
Hello.Reader12 分钟前
算法基础(十一)—— 递归树如何看懂分治算法的运行时间
java·算法·排序算法
郝学胜-神的一滴12 分钟前
二叉树与递归:解锁高级数据结构的编程内功心法
开发语言·数据结构·c++·算法·面试
AI机器学习算法25 分钟前
说走就走的AI之旅第01课:浅谈机器学习
数据结构·人工智能·python·深度学习·机器学习·大模型·线性回归
csdn_aspnet26 分钟前
C++ (Naive Partition Algorithm)朴素划分算法
数据结构·c++·算法
eggrall27 分钟前
找到字符串中所有字母异位词(medium)
算法·leetcode·职场和发展
_日拱一卒32 分钟前
LeetCode:230二叉搜索树中第K小的元素
算法
Struggle_975537 分钟前
算法知识-背包dp
算法
ZPC821039 分钟前
Linux 共享内存(shm)
算法