C++显示"123",输出3224115(使用 cout)

C++ shows '123', 3224115 in output (using cout)

本文关键字:使用 cout 3224115 输出 显示 C++      更新时间:2023-10-16

这是我的C++作业,请帮助我。(我已经用谷歌搜索了一下,什么也没找到)

int main()
{
    std::cout<<'123';
    getchar();
    return 0;
}

在输出中,你会得到3224115。为什么?

改为写入

std::cout << "123";
             ^   ^

'123' 是具有实现定义的值和类型int的字符文本。

可以想象以下方式

#include <iostream>
int main() 
{
    int x = 0x313233;
    std::cout << x << std::endl;
    return 0;
}

其中0x310x320x33是字符'1''2''3'对应的ASCII码。

对于此程序,输出可以是

3224115

引用C标准(第61页)

包含多个整数字符常量的值 字符(例如,'ab' ),或包含字符或转义序列 不映射到单字节执行字符,是 实现定义。