是012e2八进制还是浮动?

时间:2014-07-02 22:21:35

标签: c type-conversion decimal octal

如何用C语言解析?

1000 

(如果是八进制012 * 10 ^ 2)

1200 

(如果整数为十进制)?

2 个答案:

答案 0 :(得分:6)

带指数的常量总是浮点数。

C中没有八进制浮点常量。(有十六进制浮点常量,但这不是其中之一)。

所以012e2编写1200.0是一种不必要的混淆方式。

(我认为没有充分的理由以这种方式写出来,除非意图是故意混淆。)

答案 1 :(得分:5)

012e2double类型的字面值,其值与1200.0相同。

浮动常量是十进制或十六进制浮点常量。十进制浮点常量可以从任何数字开始,包括0

  

(C99.6.4.4.2浮动常数)

decimal-floating-constant:
    fractional-constant exponent-partopt floating-suffixopt
    digit-sequence exponent-part floating-suffixopt

digit-sequence:
    digit
    digit-sequence digit