添加char和int的结果是什么?

时间:2018-05-02 13:53:10

标签: c++

执行此代码时:

#include <iostream>

int main(){

   int a = 5;
   char x = 'b';

   std::cout << "The Answer is" << std::endl;
   std::cout << a+x;
}

我得到了输出:

  

答案是
  103

为什么会这样?

2 个答案:

答案 0 :(得分:14)

char添加int时,创建的(p)r值会提升为int。因此,打印的是int等价于(通常)ASCII值+ int的总和。

&#39; b&#39;的ASCII值是'b' == 98。因此98 + 5 == 103 (integer)

答案 1 :(得分:5)

a + x评估为a + (int)x,因为x被提升为int

a是5. x的值取决于您的平台使用的编码;很可能是ASCII,即98.结果103已经实现。