簡單地說,我想做的事的東西線:使用布爾(C)
int a = 6.;
int b = 10 * (1 + (a==0));
這樣b=10
如果a!=0
,或者b=20
如果a==0
。這種特殊的格式不起作用,有沒有一種方法,沒有額外的if語句?
簡單地說,我想做的事的東西線:使用布爾(C)
int a = 6.;
int b = 10 * (1 + (a==0));
這樣b=10
如果a!=0
,或者b=20
如果a==0
。這種特殊的格式不起作用,有沒有一種方法,沒有額外的if語句?
int a = 6;
int b = 10 * (2 - (a != 0));
拋開可讀性,它是如何工作的?我爲你的用例得到了正確的結果。 – StoryTeller
誰在乎它是否更具可讀性?不要做過早的優化,專注於可讀性並將代碼生成留給編譯器。作爲旁註:爲什麼你給一個整數賦一個'double'常量? – Olaf
什麼*確切*「*不起作用*」? *嘆息* – alk