当使用scanf对 double和float输入时:
double对应的是 %lf
float对应的是 %f
注:%f与%lf不可混用
当使用printf对double和float输出时:
%f 和 %lf 能够混用。
#include<stdio.h>
int main()
{
double a;
float b;
scanf("%lf", &a); //若换成%f会无法正常输入
scanf("%f", &b);
printf("%f\n", a); //printf中无论double型还是float型%f与%lf可以混用。scanf不行。
printf("%lf\n", a);
printf("%f". b);
return 0;
}
输出结果
输入;
1.544
32.44
输出:
1.544000
1.544000
32.439999 //二进制编码导致的不一定与输入完全吻合