在C/C++中,当我想找到两个字符的总和时 - 我得到int的结果.
例如:
#include <stdio.h>
int main(){
char a = 'a', b = 'b';
printf("%d + %d = %d\n", sizeof(a), sizeof(b), sizeof(a + b));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
打印
1 + 1 = 4
Run Code Online (Sandbox Code Playgroud)
为什么?
Lee*_*ker 17
因为虽然a和b各自类型的char,所述表达a + b是类型的int.无论何时使用char类型进行数学运算,在进行实际计算之前都会将它们转换为int.