当显示变量“ int a = 011”的值时,我得到9。为什么? [英] When displaying the value of variable "int a = 011", I get 9. Why?

查看:521
本文介绍了当显示变量“ int a = 011”的值时,我得到9。为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用以下代码段:

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

结果为何


a = 9

a = 9


推荐答案

011 是一个八进制值,其十进制等效值为9。在 0 之前的整数文字前表示八进制值。

使用<$ c $在 printf 中使用c>%o 说明符以八进制打印值。

011 is an octal value and its decimal equivalent is 9. Preceding integer literal with 0 indicates octal value.
Use %o specifier in printf to print the value in octal.

这篇关于当显示变量“ int a = 011”的值时,我得到9。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆