例如,我如何打印?
int a = 0145236
当我想使用它时,它总是给我八进制数。
最佳答案
首先,这似乎不是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中对其进行初始化。关于c - 首先打印零位数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46916236/