【发布时间】:2012-02-21 02:20:07
【问题描述】:
可能重复:
why is initializing an integer in VC++ to 010 different from initialising it to 10?
这让我很困惑,我希望你们中的一个人能回答我的问题。这段代码怎么会产生输出“116”?
#include <iostream>
int main()
{
std::cout << 0164 << std::endl;
return 0;
}
代码已在 Mac OS X 下使用 MSVC++ 2010 和 g++ 编译。 "cout" 可以单独打印 '0' 和单独打印 '164',但只要 '0' 是数字中的第一个数字,输出就会改变。
【问题讨论】:
-
谢谢大家,其实我从来没想过八进制的问题!对我来说最糟糕的是,既然你提到了,我已经知道了 :) 无论如何,谢谢你们所有人的帮助 :)