首先打印零号为零

时间:2017-10-24 17:06:35

标签: c type-conversion zero

我如何打印例如?

TIMESTAMP

当我想使用它时,它总是给我一个八进制数。

2 个答案:

答案 0 :(得分:0)

首先,这似乎不是C - 除非你使用typedef,否则C中的整数类型是int,区分大小写。

在ISO 9899 6.4.4.1 Integer constants -- Syntax中,它为常数编写了Backus-Naur形式:

octal-constant:
  0
  octal-constant  octal-digit

octal-digit: one of
  0 1 2 3 4 5 6 7

因此,当您编写以0<octal-digit>开头的初始化常量时,词法分析器将为其提供一些整数类型,并将它在基数8中初始化。

答案 1 :(得分:0)

每当你在数字前面加零时,它只以八进制打印。这就是c的工作方式。 但是,如果您从用户那里获取输入并假设用户已输入0123456,则会将其作为123456存储在您的变量中,因此请勿在整数编号的开头添加0编码。 如果您需要在数字中添加前导零,这可能有助于Printing leading 0's in C?