简单地说,我想做的事的东西线:使用布尔(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