c - 当显示变量 "int a = 011"的值时,我得到 9。为什么?

标签 c decimal octal

使用这段代码:

int a = 011;
printf("a = %d", a);

为什么是这个结果

a = 9

最佳答案

011 是一个八进制值,它的十进制等效值为 9。前面带有 0 的整数文字表示八进制值。
printf 中使用 %o 说明符以八进制打印值。

关于c - 当显示变量 "int a = 011"的值时,我得到 9。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30615960/

相关文章:

javascript - 设置数字中的特定位

c - 打印时错误地将宏转换为 int

algorithm - 将四进制转换为八进制。 ASM 8086

c - 使用 C 语言使用系统调用查找具有特定扩展名的文件的数量

c - 正则表达式 URL 捕获组

c - 字符串反转程序在输出开始时输出换行符

c - c 如何在 8 位槽中存储 double 小数?

highcharts - Highchart 坐标轴保留 2 位小数

c - 其他程序可以访问内存中的编程数据库

c - 使用 C 我认为以多个零开头的文字被认为是八进制的吗?