这是我的c ++作业,请帮帮我。 (我已经用谷歌搜索过,没有发现任何内容)
int main()
{
std::cout<<'123';
getchar();
return 0;
}
输出你得到3224115。 为什么呢?
答案 0 :(得分:2)
改为写
std::cout << "123";
^ ^
'123'
是一个字符文字,具有实现定义的值和类型int
。
可以想象例如以下方式
#include <iostream>
int main()
{
int x = 0x313233;
std::cout << x << std::endl;
return 0;
}
其中0x31
,0x32
,0x33
是字符'1'
,'2'
,'3'
的ASCII代码。
对于此程序,输出可以是
3224115
答案 1 :(得分:0)
引用C standard(第61页)
包含多个的整数字符常量的值 字符(例如,
'ab'
),或包含字符或转义序列 不映射到单字节执行字符的是 实现定义的。