自动类型的转换时,
char x='a';
int i='a'还是a?
应该写 'a' ,单引号括起就代表这是个char类型的字面量。
如果只写 a 的话,这应该代表是个变量,可你之前并没有声明这个变量,所以编译器会报错。
int i = 'a'; 的转换过程是:
等号右侧是char类型,在赋值前会被临时转换成等号左侧的int型,如果字符是ASCII编码的话,a的ASCII代码值为97,所以会被转换为int型97,这个97会作为左侧i的初值。