c++ - C/C++ 中两个字符的总和

标签 c++ c

在 C/C++ 中,当我想求两个字符的总和时 - 我得到的结果是整数。
例如:

#include <stdio.h>
int main(){
   char a = 'a', b = 'b';
   printf("%d + %d = %d\n", sizeof(a), sizeof(b), sizeof(a + b));
   return 0;
}

打印

1 + 1 = 4

为什么?

最佳答案

因为虽然ab都是char类型,但是表达式a + b是类型整数。任何时候您使用 char 类型进行数学运算时,它们都会在进行实际计算之前转换为 int。

关于c++ - C/C++ 中两个字符的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471235/

相关文章:

c - 从 parent 向 child 发送信号,反之亦然

c - Duff 在 Swift 中的装置

c - C 是否支持可选的空参数?

c++ - 为什么 C++ 禁止 void* 的隐式转换?

c++ - 使用 for 、if 和 else 的正确 openmp 实现

java - 如何从 C++/JNI 调用带有 Android 上下文参数的 Java 方法

c++ - 在 map C++ 中使用数组作为键

c++ - 如何编写跳过 C++ 代码行的预处理器定义?

在 C 中创建一个倒计时器并继续代码流程

c++ - 如何在 C++ 汇编代码中查找 VPTR?