这道题为什么float 跟double 的输出都是97.000000,float不是4个字节吗输出不是应该是97.0000吗?求解

来源:2-8 自动类型转换

慕粉1470407156

2016-11-20 23:13

#include <stdio.h>

int main()

{

    char c = 'a';

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

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

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

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

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

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

    return 0;    

}


写回答 关注

3回答

  • 慕粉1470407156
    2016-11-21 00:30:35

    我找到答案了,因为C语言默认输出小数位数都取6位,但是小数保留10位就不一样了,double的精度更高

  • HUHAYANG
    2016-11-21 00:05:16

     printf("%f\n",f);这里%f的意思是6位小数:http://img.mukewang.com/5831c9b50001e2ad04880099.jpg

  • qq_鸿影_0
    2016-11-20 23:52:44

    #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;    

    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926206 学习 · 20797 问题

查看课程

相似问题