我第一次看到这个。我正在查看的源代码是C
if( rate < 0.){
...
}
else{
...
}
rate=0
会怎样?
答案 0 :(得分:16)
0.
是double
类型的文字(值为零)。相比之下,0
是int
类型的文字。
答案 1 :(得分:6)
它将0.
解释为double(0.0
)而不是整数(0
)。
检查"working code"的链接:显示各种零常数的不同大小:
答案 2 :(得分:2)
0.
是一个浮动常量,因为它没有后缀,所以double
部分6.4.4.2
<{1}} < em>浮动常量我们有以下语法:
floating-constant: decimal-floating-constant hexadecimal-floating-constant decimal-floating-constant: fractional-constant exponent-partopt floating-suffixopt digit-sequence exponent-part floating-suffixopt [...] fractional-constant: digit-sequenceopt . digit-sequence digit-sequence . < ---- This covers 0. [...]
然后我们在段落 4 :
未加浮动的常量类型为double。如果以字母f或F为后缀,则为 键入float。如果以字母l或L为后缀,则其类型为long double。