加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

当显示变量“int a = 011”的值时,我得到9.为什么?

发布时间:2020-12-16 06:49:26 所属栏目:百科 来源:网络整理
导读:参见英文答案 What does it mean when a numeric constant in C/C++ is prefixed with a 0?????????????????????????????????????7个 ???????????? printf with “%d” of numbers starting with 0 (ex “0102”) giving unexpected answer (ex ‘“66”)???
参见英文答案 > What does it mean when a numeric constant in C/C++ is prefixed with a 0?????????????????????????????????????7个
>???????????? printf with “%d” of numbers starting with 0 (ex “0102”) giving unexpected answer (ex ‘“66”)????????????????????????????????????3个
使用此代码段:

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

为什么是结果

a = 9

解决方法

011是八进制值,其十进制等效值为9.前面的整数字面值为0表示八进制值. 使用printf中的%o说明符以八进制形式打印值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读