为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信