%lf 和%f 为什么在printf函数输出后都是六位小数

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

慕无忌1515682

2015-04-25 12:50

double 和float 对应的%lf和%f 为什么在printf函数输出后都是六位小数,double不是精度更高吗,不是应该有更多小数吗,如果不是的话为什么不直接用%f 而要用%lf.输出结果上没有什么区别。

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

  • qq_慕莱坞6247056
    2021-09-17 12:38:49

    我也一直有这个疑问,如果%f和%lf输出没区别,那为什么还要有%lf呢,直接用%f就行了。double不是也可以用%f输出吗,搞不懂,哪个大神来解释一下

  • 慕无忌1515682
    2015-04-25 13:45:06

    唉,没人来吗

  • J2167
    2015-04-25 12:54:26

    你理解错了1.2f表示两位小数好像是,你百度下就清楚了

    慕无忌151...

    那是一个L...不是1.2f

    2015-04-25 13:23:46

    共 1 条回复 >

C语言入门

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

926206 学习 · 20797 问题

查看课程

相似问题