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。

相关推荐
Herbert_hwt18 分钟前
C语言一维数组完全指南:从基础到实战应用
c语言
你想知道什么?24 分钟前
JNI简单学习(java调用C/C++)
java·c语言·学习
吃西瓜的年年28 分钟前
3. C语言核心语法2
c语言·嵌入式硬件·改行学it
TL滕34 分钟前
从0开始学算法——第十二天(KMP算法练习)
笔记·学习·算法
Math_teacher_fan38 分钟前
第二篇:核心几何工具类详解
人工智能·算法
汉克老师39 分钟前
CCF-NOI2025第二试题目与解析(第二题、集合(set))
c++·算法·noi·子集卷积·sos dp·mod 异常
福尔摩斯张1 小时前
基于C++的UDP网络通信系统设计与实现
linux·c语言·开发语言·网络·c++·tcp/ip·udp
mit6.8241 小时前
presum|
算法
不穿格子的程序员1 小时前
从零开始写算法——链表篇2:从“回文”到“环形”——链表双指针技巧的深度解析
数据结构·算法·链表·回文链表·环形链表
hkNaruto1 小时前
【规范】Linux平台C/C++程序版本发布调试规范手册 兼容银河麒麟
linux·c语言·c++