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。

相关推荐
B1acktion3 分钟前
2.7.希尔排序——让插入排序先大步走,再小步收尾
c++·算法·排序算法
原来是猿7 分钟前
Linux进程信号详解(一):信号快速认识
linux·c++·算法
py有趣11 分钟前
力扣热门100题之翻转二叉树
算法·leetcode
醉城夜风~14 分钟前
C++函数参数的默认值及其使用场景
开发语言·c++·算法
tankeven19 分钟前
HJ162 ACM中的AC题
c++·算法
无尽的罚坐人生20 分钟前
hot 100 56. 合并区间
算法
kishu_iOS&AI22 分钟前
机器学习——归一化/标准化(特征工程预处理)
人工智能·算法·机器学习
励志的小陈30 分钟前
数据结构--带头双向循环链表(C语言实现)
c语言·数据结构·链表
美式请加冰31 分钟前
递归在二叉树搜索中的使用
算法
nianniannnn1 小时前
力扣 76. 最小覆盖子串
c++·算法·leetcode