C++三元表达式详情 if-else语句非常常用但在进行一些简单逻辑判断的时候会显得有些不太简洁。特别是在初始化的时候比如我们有一个变量某种情况下赋值成a另外的情况下赋值成b。使用if-else语句写出来就是123456intcur;if(condition) {cur a;}else{cur b;}这当然是没问题的只是在大量使用的时候会显得有些繁琐。因此C当中推出了三元表达式对此进行简化三元表达式也被称为条件运算符(?:)。运算符的通用格式如下1condition ? expression1 : expression2;问号之前的condition表示一个逻辑运算如果结果为true返回expression1的值否则返回expression2的值。使用三元表达式之后刚才上述的代码可以改写成1intcur condition ? a : b;这样我们就把6行代码压缩成了一行简化了代码但也因此了增加了代码阅读的难度。因此只推荐在简单逻辑判断下使用三元表达式也不推荐嵌套使用会使得代码非常难以阅读。最后分享一个我个人特别喜欢的使用三元表达式的场景就是结构体排序的cmp函数。比如我们有这样一个场景需要使用一个结构体存储两个值x和y代表一个坐标。我们需要对坐标进行排序排序的规则是x轴小的在前如果x轴相等则y小的在前。12345structP {intx, y;};P arr[1000];大家都知道要对这样的结构体排序一种做法是我们可以额外实现一个cmp函数作为sort排序函数的传参。如果不使用三元表达式那么cmp函数是这样的1234567boolcmp(constP a,constP b) {if(a.x b.x) {returna.y b.y;}else{returna.x b.x;}}使用三元表达式的话整个逻辑只有一行123boolcmp(constP a,constP b) {returna.x b.x ? a.y b.y : a.x b.x;}到此这篇关于C三元表达式详情的文章就介绍到这了,

相关新闻

最新新闻

WorkBuddy实战:用Skill与自定义指令构建自动更新项目看板

WorkBuddy实战:用Skill与自定义指令构建自动更新项目看板

开头我先说一个关键判断:WorkBuddy 这类工具,真正值得花时间的不是“会安装”,而是“把一条重复的日常工作流变成自动执行的任务”。项目看板正好是最典型的落地场景。你不需要手动整理任务状态,不需要反复复制粘贴进度&#xff0…

2026/8/27 3:27:36
2.6万预算AMD X3D+RTX 5080游戏设计主机装机指南

2.6万预算AMD X3D+RTX 5080游戏设计主机装机指南

一台预算 2.6 万元、既要打游戏又要兼顾设计工作的主机,最难的不是把钱花完,而是把钱花在真正影响体验的部件上。标题里的 AMD 9850X3D 和 华硕 5080 设计师显卡,组合起来正好代表两个方向:AMD X3D 系列对游戏场景的缓存优化明显&…

2026/8/27 3:27:36
工业表面缺陷检测:PyTorch实战U-Net与SqueezeNet协同部署

工业表面缺陷检测:PyTorch实战U-Net与SqueezeNet协同部署

1. 这不是“刷题”,而是一次工业级缺陷检测的实战推演表面缺陷检测——这个词在2023年第十二届“认证杯”B题里,绝不是教科书上模糊的示意图或合成数据集里的几个圆圈划痕。它背后是冷轧钢板产线实时图像中0.1mm级的微裂纹、手机玻璃盖板边缘肉眼难辨的应…

2026/8/27 3:27:36
单细胞轨迹推断:加速度匹配如何破解方向性难题

单细胞轨迹推断:加速度匹配如何破解方向性难题

做单细胞数据分析的人,大概率遇到过这种情况:手里的表达矩阵看起来结构清晰,聚类也分得开,但一到轨迹推断,结果就开始失控。同一份数据,用一种方法画出来是从 A 到 B,换一种方法就变成从 B 到 A…

2026/8/27 3:27:36
STM32硬件PWM精准控制舵机:从原理到工程实践全解析

STM32硬件PWM精准控制舵机:从原理到工程实践全解析

1. 从零到一:为什么STM32的PWM是舵机控制的“黄金搭档”如果你玩过机器人、机械臂或者智能小车,那你一定对舵机不陌生。那个会“听话”地转到指定角度的小玩意儿,是无数嵌入式项目的灵魂关节。但很多新手朋友拿到舵机后,第一反应往…

2026/8/27 3:27:36
从乔治·马丁延期到软件项目:长周期项目如何避免把人拖垮?

从乔治·马丁延期到软件项目:长周期项目如何避免把人拖垮?

乔治RR马丁又一次让读者等到了远超预期的周期,但这次新闻的重心不再是“书稿又延期了”,而是他在书稿延期期间公开谈论了自己经历的抑郁。对不写小说的人来说,这可能只是娱乐版的一条消息;对一个常年参与长周期软件项目的人来说&a…

2026/8/27 3:22:36