今天,通过我的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语句。
使用这种方法是否是好习惯?
它更多关于可读性,使用三元运算符可以减少难以理解的代码,特别是如果您使用嵌套的代码。 – Neil
'printf(somefunc()?“\ nFunction Suceeded!”:“\ nFunction Failed!”);' – Vlad
@Vlad这真的很酷 –