我的代码是:
#include <iostream>
using namespace std;
int main()
{
int num=0;
cout << 'nDigits=' << num << endl;
return 0;
}
我得到的输出是:17692393570
。有人知道为什么会这样吗?谢谢你的时间!
答案 0 :(得分:2)
'nDigits='
是一个多字符字符常量。
当使用ASCII码以十六进制写入时,它变为6E 44 69 67 69 74 73 3D
,而1769239357
等于0x6974733D
。
似乎最后4个字节用作值,因为多字符字符常量太长而不适合32位整数。
添加了来自0
的{{1}},因此输出变为num
。