逻辑运算的短路特性(&&,||)

简介: 逻辑运算的短路特性(&&,||)

||运算

表达式A || 表达式B

表达式成真条件: 满足表达式A和表达式B任意一个为真

短路原则: 如果表达式A为真,就不执行和判断表达式B,因为表达式A为真已经符合表达式A || 表达式B为真的条件


代码示例

示例1:

#include<stdio.h>intmain()
{
inta=1,b=0;
if(a++||b++);   
printf("a:%d;b:%d",a,b);
return0;
}

if(a++||b++);运算时,a=1,即if(1||b++);表达式A已经为真,则触发短路原则,不执行表达式B

输出:

a:2;b:0

示例2:

#include<stdio.h>intmain()
{
inta=0,b=0;
if(a++||b++);
printf("a:%d;b:%d",a,b);
return0;
}

if(a++||b++);运算时,a=0,即if(0||b++);表达式A为假,不触发短路原则,执行表达式B,判断执行b++

输出:

a:1;b:1


&&运算

表达式A && 表达式B

表达式成真条件: 满足表达式A和表达式B都为真

短路原则: 如果表达式A为假,就不执行和判断表达式B,因为表达式A为假已经不符合表达式A && 表达式B为真的条件


代码样例

示例1:

#include<stdio.h>intmain()
{
inta=0,b=0;
if(a++&&b++);
printf("a:%d;b:%d",a,b);
return0;
}

if(a++&&b++);运算时,a=0,即if(0&&b++);表达式A为假,触发短路原则,不执行表达式B

输出:

a:1;b:0


示例2:

#include<stdio.h>intmain()
{
inta=1,b=0;
if(a++&&b++);
printf("a:%d;b:%d",a,b);
return0;
}

if(a++&&b++);运算时,a=1,即if(1&&b++);表达式A为真,不触发短路原则,执行表达式B,判断执行b++

输出:

a:2;b:1


总结

只要符合&&,||表达式成立的条件,就触发短路原则,省时又省力

目录
相关文章
|
canal 存储 SQL
MySQL数据库同步CDC方案调研
数据库同步是一个比较常见的需求,业务数据一般存储在一致性要求比较高的OLTP数据库中,在分析场景中往往需要OLAP数据库或者比较火的数据湖方案;CDC是数据库同步较为流行的方案,全称是Change Data Capture,主要用于捕捉数据库中变化的数据,然后根据变化的数据写入不同的目标存储。接下来是一些数据库CDC方案的调研及原理探讨,调研方案基于MySQL数据库。
3954 0
MySQL数据库同步CDC方案调研
|
7月前
|
数据采集 自动驾驶 Java
PAI-TurboX:面向自动驾驶的训练推理加速框架
PAI-TurboX 为自动驾驶场景中的复杂数据预处理、离线大规模模型训练和实时智能驾驶推理,提供了全方位的加速解决方案。PAI-Notebook Gallery 提供PAI-TurboX 一键启动的 Notebook 最佳实践
|
安全 Android开发 数据安全/隐私保护
深入探讨iOS与Android系统安全性对比分析
在移动操作系统领域,iOS和Android无疑是两大巨头。本文从技术角度出发,对这两个系统的架构、安全机制以及用户隐私保护等方面进行了详细的比较分析。通过深入探讨,我们旨在揭示两个系统在安全性方面的差异,并为用户提供一些实用的安全建议。
|
9月前
|
JavaScript 算法 前端开发
解决若依框架中 npm run dev 卡在 95% 的问题
本文深入探讨若依框架中 `npm run dev` 卡在 95% 的问题,分析其与 Node.js 17+ 内置 OpenSSL 3.0 加密策略变更的关系。提供临时(设置环境变量 `NODE_OPTIONS=--openssl-legacy-provider`)和永久(修改 `package.json` 脚本)解决方案,同时建议降级 Node.js 或更新依赖以根本解决兼容性问题。最后强调依赖管理与开发环境标准化的重要性,助力团队高效开发。
922 1
|
JSON API 数据处理
如何运用获得京东商品详情API接口搬运商品到自己的电商平台?(一篇文章全搞定)
本文介绍如何利用京东商品详情API接口,将商品信息高效搬运至第三方电商平台。主要内容包括:前期准备(注册账号、申请权限、阅读文档、技术准备),API接口调用(构造请求URL、发送请求、解析返回数据、调用频率限制),数据处理与上架(清洗整理、分类设置、信息上传、商品审核),定时更新与维护(更新商品信息、信息维护、错误处理与日志记录),以及案例分析和优化建议。通过合理使用该接口,可提高运营效率,丰富商品种类,增强平台竞争力。
382 13
|
JSON API 数据安全/隐私保护
淘宝拍立淘API接口详解
淘宝拍立淘API接口基于图像识别技术,通过上传图片快速找到相似商品,提升购物体验和搜索效率。其核心功能包括图片上传、图像处理、相似图片搜索和结果返回。开发者需注册淘宝开放平台账号并获取API密钥,调用接口时需遵守频率限制、图片质量要求及隐私政策。该接口适用于电商平台、社交媒体和线下门店等场景,为用户提供便捷的购物服务。
|
11月前
|
算法 计算机视觉
YOLOv11改进策略【卷积层】| AKConv: 具有任意采样形状和任意参数数量的卷积核
YOLOv11改进策略【卷积层】| AKConv: 具有任意采样形状和任意参数数量的卷积核
617 0
YOLOv11改进策略【卷积层】| AKConv: 具有任意采样形状和任意参数数量的卷积核
|
数据挖掘 Python
Pandas:从财务报表探寻上市公司之最
Pandas:从财务报表探寻上市公司之最
244 0
|
安全 jenkins 网络安全
在配置 Gitee 时需要注意什么?
通过注意以上这些方面,可以更好地配置Gitee,保障项目的代码管理安全、高效、有序,为团队的协作开发和代码上线流程提供有力的支持。

热门文章

最新文章