问答详情
源自:2-8 自动类型转换

自动类型转换

自动类型的转换时,

char x='a';

int i='a'还是a?

       

提问者:1378146534 2015-12-03 22:30

个回答

  • onemoo
    2015-12-03 22:55:14

    应该写 'a' ,单引号括起就代表这是个char类型的字面量。

    如果只写 a 的话,这应该代表是个变量,可你之前并没有声明这个变量,所以编译器会报错。


    int i = 'a'; 的转换过程是:

    等号右侧是char类型,在赋值前会被临时转换成等号左侧的int型,如果字符是ASCII编码的话,a的ASCII代码值为97,所以会被转换为int型97,这个97会作为左侧i的初值。