我如何打印例如?
TIMESTAMP
当我想使用它时,它总是给我一个八进制数。
答案 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?