可能重复:
三元还是不三元?
今天,在阅读我的 C 书时,我偶然发现了一个小宝石:?
运算符。它是一个三元运算符,其行为类似于基于天气的 if else 语句,或者语句是真还是假。
显然使用?
运算符应该更有效。
以下代码使用 if / else 语句(假设 somefunc 在失败时返回 NULL):
foo = somefunc();
if(foo) printf("\nFunction Suceeded!");
else printf("\nFunction Failed!");
这是代码与第一个相同,但使用?
运算符:
somefunc() ? printf("\nFunction Suceeded!") : printf("\nFunction Failed!");
我可以看到这在大多数情况下都不会有用,但是我知道我已经看到了无数的例子,这些例子可以很容易地用来代替 if / else 语句。
使用这种方法是一种好习惯吗?