c++ - 使用从 0 开始的值初始化 long long 会导致奇怪的值

标签 c++

<分区>

这里发生了什么?

long long value;
value = 001111011112;

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

如果数字不是以 0 开头,则一切正确...

关于如何继续使用我的初始化样式有什么建议吗?

最佳答案

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

如果你想用前导零打印这个值,你可以这样做:

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

关于c++ - 使用从 0 开始的值初始化 long long 会导致奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51500962/

相关文章:

c++ - 简单的 c++ ATM(不能存储余额变量输入)

c++ - 不会为 C++ 创建类模板

c++ - 精明的边缘检测

c++ - ios和橡皮筋

c++ - 霍夫曼二叉树是否必须正确?

android - Qt 安卓 : Pressing "Done" does not hide the keyboard

c++ - 在 C++ 中将 2 个文本文件合并到第三个文本文件中

c++ - 假设的、以前的 C++0x 概念问题

c++ - 隐藏和删除 Admob 横幅

c++ - 初始化引用