小甲鱼C语言试题里面的问题 大婶求助
#include <stdio.h>main()
{
int a = 011;
printf("%d", a ++);
} 这段代码 运行后为什么是9011是几进制 新手各种疑问求解决啊 大神
如果一个整型常量的第一个字符是数字 0, 那么该常量将被视为八进制数。 ----C陷阱与缺陷。
int a = 011;是给 a 初始化了一个八进制数 011,
转换成十进制就是 9, 这个可以用计算器算一下,我的进制转换也没学好- -、、
a++ 是先使用 a 的值然后再把它加 1, 所以这里它传进 %d 的值还是 011 没有变。 是8进制的,0X是16 进制 是八进制,一般这种0为首的数值是八进制,16进制是0x,没有这些的是十进制的。 T_未命名 发表于 2013-11-18 01:00 static/image/common/back.gif
如果一个整型常量的第一个字符是数字 0, 那么该常量将被视为八进制数。 ----C陷阱与缺陷。
int a = 011 ...
鼓掌鼓掌……
页:
[1]