来看看今天的c语言小课堂
#include <stdio.h>
int main()
{
int a= 017;
printf("a: %d",a);
return 0;
}
是个很简单的printf函数,是输出a的值
但是a的值等于 017
好像我们数学里面017可以写成17
那我们盲猜一手答案是输出17
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
ㅤ
输出内容:
可以看到输出成15了,有点奇怪
其实c语言在整数前面加上一个0的话,就代表了8进制
而17在八进制中的表示就是15
八进制的17转成十进制如下
1 * 81+7 * 80 = 15
所以打印a就是输出15啦
再来一题试一下:
#include <stdio.h>
int main()
{
int a= 064;
printf("a: %d",a);
return 0;
}
ㅤ
ㅤ
答案是52