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。

相关推荐
七号驿栈10 分钟前
07_汽车信息安全算法在线验证工具(测试报告)
算法
啦哈拉哈26 分钟前
【Python】知识点零碎学习4
python·学习·算法
sycmancia29 分钟前
C语言学习06——函数的定义
c语言
定偶31 分钟前
Linux进程管理和进程间通信机制
c语言·进程·共享内存·管道·信号量·消息列队
爱喝可乐的老王32 分钟前
线性回归模型案例:广告投放效果预测
算法·回归·线性回归
tianyuanwo1 小时前
深入浅出SWIG:从C/C++到Python的无缝桥梁
c语言·c++·python·swig
程序员-King.1 小时前
day151—双端队列—找树左下角的值(LeetCode-513)
算法·leetcode·二叉树·双端队列·队列
苦藤新鸡1 小时前
15 .数组右移动k个单位
算法·leetcode·动态规划·力扣
狐572 小时前
2026-01-19-牛客每日一题-阅读理解
笔记·算法·牛客
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——力扣 130 题:被围绕的区域
算法·leetcode·职场和发展·结构与算法