视频加载失败

关于三目运算符,你需要知道的一切

关于三目运算符,你需要知道的一切
301 字
2 分钟
关于三目运算符,你需要知道的一切

if…else语句常写吧?

But,你会不会觉得:

写 if...else? 烦死了!

写switch?就俩我写啥……

于是,又一个 C艹 利器——三目运算符诞生啦!

先上代码:

mn = (a < b) ? a : b; /* 其中,? :为三目运算符,一般为“结果保存值 = 条件 ? 结果A : 结果B*/

意思即:如果 a < b,那么 mn = a,否则 mn = b`

那不就是 if...else 吗!

不,如果你用 if...else,那么代码会变成这样:

if (a < b) mn = a;
else mn = b;

不仅变长了,而且,三目运算符是个运算符,它可以被塞进别的语句(写 DFS 或 DP 的时候可能会用到)里面!

最后,说一下性能排名(注:这部分是早期资料,不保证真实性,实战中也鲜有人会利用这种特性,差异一般认为是评测波动即可)。三目运算符作为运算,速度最快,但也有很大的限制(比如嵌套时就会有点 BT)。而switch 和 if…else 不相上下,但是 3 个以上语句时,switch 不仅更方便,还更快哟。

但 if…else,它是最通用的,拿不准选这个就好了。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
关于三目运算符,你需要知道的一切
https://www.leo2011.eu.org/posts/ternary/
作者
Block_Fish
发布于
2023-11-25
许可协议
SATA

评论区

Profile Image of the Author
Block_Fish
大胆假设,小心求证。——胡适
公告
网站全面重构,有问题欢迎联系积木鱼!
分类
标签
最新动态
站点统计
文章
56
分类
7
标签
17
总字数
84,805
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Netlify CI
博客版本
Firefly v6.16.8
文章许可
SATA

当前页面没有目录

文章目录

当前页面没有目录