今天,通過我的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這真的很酷 –