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

Leo2011 大气压强

if...else 语句常写吧?

But,你会不会觉得:

写 if...else? 烦死了!

写 switch?就俩我写啥……

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

先上代码:

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

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

那不就是 if...else 吗!

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

1
2
3
4
if (a < b)
mn = a;
else
mn = b;

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

最后,说一下性能排名。三目运算符作为运算,速度最快,但也有很大的限制(必须要有 1 个变量给赋值)。而 switch 和 if...else 不相上下,但是 3 个以上语句时,switch 不仅更方便,还更快哟。

但 if...else 也不是一无是处,像浮点数这种你还真得用 if...else 是不?

  • 标题: 关于三目运算符,你需要知道的一切
  • 作者: Leo2011
  • 创建于 : 2023-11-25 14:35:08
  • 更新于 : 2024-08-21 22:27:54
  • 链接: https://leo2011.eu.org/2023/11/25/guan-yu-san-mu-yun-suan-fu-ni-xu-yao-zhi-dao-de-yi-qie/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
关于三目运算符,你需要知道的一切