int a = 48;char c;c = a; //c = 48;printf("%d", c); //输出48printf("%c", c); //输出0,‘0’ = 48
一个是16位变量,一个是夜8位变量,如果把int型变量 赋 值给char型的变量,一般会丢失高8位,取低8位 但有的编译器分大端模式和小端模式有的模式下是取高8位的
short型的变量,占2个字节(32位系统),和int型的区别就在于他们所能表示的最大值不同;而char 的C赋了一个1,这个1是ASCII码,你可以C = 48,然后printf(“%c”,c);试试,出来的是字符0.