l两个字符型变量相加得到的结果是什么类型?

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:16:17

int 型.因为C规定,运算时char型数据必须转换成int型.

int型。
ANSI/ISO C规定:两个比int窄的类型进行加减乘除或者“位与”、“位或”运算之前,会分别自动提升为int型,且运算结果为int型。因此,假设
unsigned char a = 255, b = 1, c = 0;
那么,
a+b == c 是不成立的,因为a+b == c的写法等价于 (int)a + (int)b == c.
a+b == 256 则成立

int 型
可用下面的程序来验证
#include <stdio.h>
int main()
{
char a=5,b=10;
printf("sizeof(a)=%d\n",sizeof(a));
printf("sizeof(b)=%d\n",sizeof(b));
printf("sizeof(a+b)=%d\n",sizeof(a+b));
return 0;
}

还是字符型