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

%f和%lf用什么不同

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

    


提问者:暗黑骑士_0001 2015-02-15 22:52
微课

个回答

  • onemoo
    2015-02-16 09:53:11

    严格地说,在printf中float和double都应该用%f来格式化,因为在传入参数时float会被提升为double,而printf中%f就是用来表示double的。

    不过一些编译器也不把%lf视作错误而已。


    注意:printf中%f的含义和scanf中是不一样的!在scanf中确实是用%f代表float,用%lf代表double。

  • 偌颜宁
    2015-02-16 08:42:07

    %f用是单精度,而%lf是双精度