注册 登录
编程论坛 C++教室

变量的值变了 为什么

傻朋 发布于 2008-10-31 12:28, 834 次点击
刚刚学C++  今天碰到个问题  
怎么也想不通  
我程序是这样写的
int num;
cin >> num;
cout << num << endl;

为什么我输入001001之后  打印出来的是513呢?
不要告诉我说用数组啊 字符串定义什么的  我只想知道 为什么结果会变成 513
7 回复
#2
saltss2008-10-31 12:47
前面加0表示8进制数,输出是10进制数
#3
shmilytong2008-10-31 12:53
支持楼上的朋友
#4
zxwangyun2008-10-31 13:29
顶一楼
#5
tfg01162008-10-31 14:07
请问楼主用的什么编译器,我在vc6.0下输入001001时,输出是1001,会忽视前面的0
#6
kelleyking202008-10-31 15:36
前面的0代表了你输入的是 8进制数字。

1×8^3+1=512+1=513
#7
不呆2008-10-31 16:38
哦,记起来了,,好像
0x则表示16进制
#8
ling1212112008-11-01 00:12
学到了。。
1