用0开头的值初始化long long会导致奇怪的值

时间:2018-07-24 14:16:50

标签: c++

这里发生了什么?

long long value;
value = 001111011112;

在Visualstudio调试中,该值显示为153358922。

如果数字不是以0开头,那都是正确的...

任何建议如何继续使用我的初始化样式?

1 个答案:

答案 0 :(得分:1)

在C ++中,以0开头的数字是八进制(基数8)文字。

如果要打印前导零的值,可以执行以下操作:

long long value;
value = 1111011112;
cout << setw(12) << setfill('0') << value;