【发布时间】:2020-07-23 15:03:47
【问题描述】:
我是 C++ 新手。我想知道为什么我在运行以下代码时得到A2105376B:
#include <iostream>
int main(){
std::cout <<'A' << ' ' <<'B'<<std::endl;
return 0;
}
提前致谢!
【问题讨论】:
-
请注意,c++ 不保证您将获得该输出。
标签: c++
我是 C++ 新手。我想知道为什么我在运行以下代码时得到A2105376B:
#include <iostream>
int main(){
std::cout <<'A' << ' ' <<'B'<<std::endl;
return 0;
}
提前致谢!
【问题讨论】:
标签: c++
此' ' 是一个多字符字符文字,具有 int 类型和实现定义的值。
您的意思似乎是单字节字符文字 ' ' 或字符串文字 " "
来自 C++ 标准(2.13.3 字符文字)
2 不以 u8、u、U 或 L 开头的字符文字是 普通字符文字。一个普通的字符文字 包含在执行字符集中可表示的单个 c-char 具有 char 类型,其值等于编码的数值 执行字符集中的 c-char。一个普通的角色 包含多个 c-char 的文字是多字符 文字。 多字符文字,或普通字符文字 包含在执行字符中不可表示的单个 c-char set,有条件支持,类型为 int,并且有 实现定义的值。
这是一个演示程序,如果它由三个空格的 ASCII 值初始化,则输出一个整数对象。
#include <iostream>
int main()
{
int x= 0x202020;
std::cout << x << '\n';
std::cout << ' ' << '\n';
return 0;
}
程序输出是
2105376
2105376
【讨论】: