使用带有 std::cout 的单引号来打印字符串实际上会打印数字 [重复]

Posted

技术标签:

【中文标题】使用带有 std::cout 的单引号来打印字符串实际上会打印数字 [重复]【英文标题】:Using single quotes with std::cout for printing a string actually prints numbers [duplicate] 【发布时间】:2020-02-06 05:22:42 【问题描述】:
#include <iostream>

int main() 
  std::cout << 'hello';
  return 0;

这个程序的输出是:

1701604463

我想知道它为什么会实际运行,尽管编译器会发出警告消息:character constant too long for its type

这些数字实际上意味着什么,它们是垃圾数字吗?

【问题讨论】:

【参考方案1】:

它是multicharacter literal,其类型为int

多字符文字,例如'AB',具有 int 类型和 实现定义的值。

【讨论】:

以上是关于使用带有 std::cout 的单引号来打印字符串实际上会打印数字 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

带有 std::cout 的多线程控制台文本动画

字符作为数字打印到 std::cout

cout没有打印任何东西到控制台

如何将ostringstream直接写入cout

python内置数据结构基础认知:字符串

在指针之间打印文本