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

在std::cout中使用单引号打印字符串实际上会打印数字[重复]

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

    此程序输出为:

    1701604463
    

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

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

    1 回复  |  直到 2 月前
        1
  •  3
  •   Oblivion- Reinstate Monica    2 月前

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

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