c语言double类型的输入

double输入用 %lf ,而不能用 %f

今天在使用double类型输入时先用了 scanf("%lf", &a),结果以%f输出的时候都是0,以%g,%e输出似乎是最小的double值


12.3456789
0.000000
0.00000
6.952986e-3106.95299e-310

正确的代码如下


#include <stdio.h>

int main()
{
    double a;
    scanf("%lf", &a);//换成 %f 会无法正确输入

    printf("%f\n", a);
    printf("%.5f\n", a);
    printf("%e\n", a);
    printf("%g", a);
}

posted @ 2018-05-05 23:44  l_____py  阅读(11288)  评论(0编辑  收藏  举报