例如,我如何打印?

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/

10-12 22:41