分享
三行代码  ›  专栏  ›  技术社区  ›  Mohamed Magdy

在std::cout中使用单引号打印字符串实际上会打印数字[重复] - Using single quotes with std::cout for printing a string actually prints numbers [duplicate]

c++
  •  0
  • Mohamed Magdy  · 技术社区  · 1 周前
    #include <iostream>
    
    int main() {
      std::cout << 'hello';
      return 0;
    }
    

    此程序输出为:

    1701604463
    

    我想知道它为什么会运行,尽管编译器给出了一条警告消息: character constant too long for its type 是的。

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

    1 回复  |  直到 1 周前
        1
  •  3
  •   Oblivion    1 周前

    它是 multicharacter literal 有类型的 int 是的。

    多字符文字,例如'ab',有typeintand 实现定义的值。