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

关于这个题的解决方案

#include <stdio.h>

int main()

{

    char c = 'a';

    int n=c;//将c赋值给n

    float f=n;//将c赋值给f

    double d=f;//将c赋值给d

    printf("%d\n",n);

    printf("%f\n",f);

    printf("%lf\n",d);

    return 0;    

}

如上,因为char是1个字符,int是2字符,float是4个字符,double是8个字符,所以自低向高char--int--float--double自动转换,不能全部填c,c已经赋值给int,所以如果填c的话float获取到的是null。

提问者:qq_傻孩子_5 2017-11-04 17:25

个回答

  • 慕斯卡8405410
    2017-11-04 18:44:54

    因为char是1个字符,int是2字符,float是4个字符,double是8个字符,所以自低向高char--int--float--double自动转换,不能全部填c,c已经赋值给int,所以如果填c的话float获取到的是null。