我的c ++程序返回一个奇怪的输出

时间:2015-11-21 11:55:25

标签: c++

我的代码是:

#include <iostream>
using namespace std;  
int main()
{
    int num=0;
    cout << 'nDigits=' << num << endl;
    return 0;
}

我得到的输出是:17692393570。有人知道为什么会这样吗?谢谢你的时间!

1 个答案:

答案 0 :(得分:2)

'nDigits='是一个多字符字符常量。

当使用ASCII码以十六进制写入时,它变为6E 44 69 67 69 74 73 3D,而1769239357等于0x6974733D

似乎最后4个字节用作值,因为多字符字符常量太长而不适合32位整数。

添加了来自0的{​​{1}},因此输出变为num