bool bSwitch = true;
double dSum = 1 + bSwitch?1:2;
因此,“dSum”为:
a)= 1
b)= 2
c)= 3
结果简直太荒谬了,我为此感到沮丧...
我正在使用VS2008->“Microsoft(R)32位C/C++-Optimierungscompiler版本15.00.21022.08für80x86”
最佳答案
operator+
比三元运算符?:
具有更高的precedence。
所以,这相当于
double dSum = ( 1 + bSwitch ) ? 1 : 2;
因此,您有了
dSum == 1
。