char类型与int类型的转换

    在c语言中,char类型与int类型可以转换,如何转换我在此做一个粗略的总结

首先是char转换为int

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

结果为:n 110 110

即将ASC码强制转换为int

但当输入的数字大于127(ASC码的最大值)时,-128和127就像转盘一样连在一起,如果上述代码中a=128,则输出   一个意义不明的符号(因为-128在ASC码中没意义) -128 -128

如果a=256,则输出:空字符 0 0;即像轮盘一样转了回来。

同理,如果先定义int a=110再将其强制转换成char,即是将其转换成asc在打印出字母,若a在128~255间,则打印意义不明的字符,到256重新从0开始。

更多详情可以参考:(195条消息) char与int等数据类型的强制转化_THEALVA的博客-CSDN博客_int类型强制转换成char