第2个回答 推荐于2017-09-21
#include <stdio.h>
int main()
{
char a='0',b[10]={'1'}; //'0'==48,'1'==49
int i;
for(i=0;i<10;i++)
{
a=a+b[i];
}
printf("%d\n",a);
printf("%c\n",a);
return 0;
}
测试结果:
97
a // a 的ASCII码为97
C语言有类型转换机制,在执行运算时,小于int的类型将会提升。换句话说,(这里)两个char类型相加,会自动转换成int类型运算,得到结果后再转换为char类型。这是隐式转换。本回答被提问者和网友采纳