求大神讲解一下浮点数输入的方法和注意事项啊,我老是得不到想要的答案呢~~~~(>_<)~~~~
比如:
#include <stdio.h>
int main()
{
double a;
scanf("%f",&a);
printf("a=%f",a);
return 0;
}
我输进去12.1
出来的结果是
12.1
a=-92559604618046016000000000000000000000000000000000000000000000.000000请按任意
键继续. . .
我知道了诶……那时没学,现在懂了
#include
int main()
{
double a;
scanf("%lf",&a);
printf("a=%lf",a);
return 0;
}
你懂什么了,说出来啊,这个样子才对的。
浮点数输出精度需要控制
double输入需要%lf
对于scanf,读取double类型需要%lf,对于printf,只需要%f就可以了。
scanf()接收输入时格式化字符串要严格的匹配才行,double应该是%lf。
scanf("%lf",&a);
scanf("%lf",&a);
除了scanf时用 %lf 输出的时候 %.6lf 来控制一下输出精度
如果想完全相同建议把输入的值看作字符串类型,这样不管你输入小数点后几位都能输出同样的字符串了
#include <stdio.h>
int main()
{
double a[40];
scanf("%s",a);
printf("a=%s\n",a);
getchar();
getchar();
return 0;
}