以下程序的运行结果是什么?分析该程序产生这种结果的原因。
#include <stdio.h>
int main()
{
float f = 0.2f;
printf("%.20f\n", f);
return 0;
}
小数点后面多出其他数字什么原因
以下程序的运行结果是什么?分析该程序产生这种结果的原因。
#include <stdio.h>
int main()
{
float f = 0.2f;
printf("%.20f\n", f);
return 0;
}
原因是,在计算机中,浮点数不能精确地表示,尤其是小数,即使是0.2这个小数也不能精确地表示,这是由于浮点数的二进制表示有限,因此会产生精度误差。因此,在输出时会有一些微小的误差。