找到这个有趣的:-)如果指定0f
,该值将被解释为八进制整数文字。因此,不允许f
(十进制15
)。 00f
和.f
也不会工作。唯一可行的方法是0.f
和.0f
。还有其他方法吗?不过,我无法弄清楚为什么0.f
有效。 0
是否被解释为八进制前缀? C ++肯定很复杂,甚至是非常基本的语法〜> _<〜
答案 0 :(得分:5)
仍然,我无法弄清楚为什么0.f
它有效,因为.
字符使其成为浮点字面值。 f
的浮点字面值为float
。小数部分是可选的,如果省略则为零。
由于0..1之间的值的0.X
语法,您不能有八进制浮点文字。
0是否被解释为八进制前缀?
如果是整数文字,则0
前缀是八进制文字的语法。例如:01是八进制,0x1是十六进制,1是十进制。