输出结果是9,你信吗?
#include<stdio.h>void main()
{
int a=011;
printf("%d\n",a);//输出结果是9,你信吗?
}
{:7_158:}输出结果是9,你信吗?
011是8进制数 不然呢??011 是八进制啊转换成十进制不是9是多少?? 哪里提示八进制了:funk: 骇客不会飞 发表于 2013-11-8 18:01 static/image/common/back.gif
哪里提示八进制了
a = 011不是八进制吗? 好低级的想法啊 int a=011;
00401028 mov dword ptr ,9
看到没? 这个C++对应的汇编代码赋值为9
还有一点 就是 0开头的数字 在C++中是8进制。而0x开头的数字是16进制 貌似C++只支持10 8 16进制的书写格式。汇编里支持2进制的书写方式 比如像 mov ax,10111011b。
学习了。。好帖。。小细节学的时候都没怎么注意。。 小朋友 想忽悠我们呀 。。。0是八进制的前缀哦 楼主说的对 0是八进制的前缀哦:lol: :sweat::sweat::sweat::sweat:哈哈
页:
[1]