【问题标题】:C++ std::cout printing wierd characters when I enclose a string with single quotations [duplicate]当我用单引号将字符串括起来时,C++ std::cout 打印奇怪的字符[重复]
【发布时间】:2015-10-22 22:41:53
【问题描述】:

当我尝试std::cout << ', '; 时,我得到了11296,我知道我应该用", " 括起来,但为什么我得到了这个号码?

【问题讨论】:

  • 那些不是“括号”。

标签: c++ cout


【解决方案1】:

单引号中有两个字符(逗号和空格)。
这种多字符文字的值取决于您的编译器等。

在这种情况下,ASCII 值是 44 和 32,并且

11296 = 44 * 256 + 32  

即。两个字节一起理解为 16 位整数

【讨论】:

    【解决方案2】:

    根据标准(N4296, 2.13.3 Character literals,强调我的):

    一个 包含多个 c-char 的普通字符文字是多字符文字。 多字符 文字,或包含单个 c-char 的普通字符文字,不能在执行字符中表示 set,有条件支持,具有 int 类型,并具有实现定义的值

    有条件支持”是 (1.3.5)

    实现不需要支持的程序结构

    【讨论】:

      猜你喜欢
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多