在int为13332位、char为8位的ASCII系统中,有下面的代码:
char grade = 'B';
本来'B'对应的数值66储存在32位的存储单元中,现在却可以储存在8位的存储单元中(grade)。利用字符常量的这种特性,可以定义一个字符常量'FATE',即把4个独立的8位ASCII码储存在一个32位存储单元中。如果把这样的字符常量赋给char类型变量grade,只有最后8位有效。因此,grade的值是'E'。
因为一个char的取值范围是:-128-127之间,'FATE'这个四个字符的取值远远大于127,只有字符E是68在char取值范围内,如果加上前面的'T',就会超过取值范围会溢出,所以程序就会进行截断,只会取到字符E
int 13332位?!?!!!