关于三目运算符,你需要知道的一切
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 的时候可能会用到)里面!
最后,说一下性能排名。三目运算符作为运算,速度最快,但也有很大的限制(必须要有1个变量给赋值)。而switch和if...else不相上下,但是3个以上语句时,switch不仅更方便,还更快哟。
但if...else也不是一无是处,像浮点数这种你还真得用if...else是不?