C语言分数求和结果出现精度丢失问题
#include
int main()
{
double h;
int i;
for(i=1;i<=3;i++)
{
h+=1/i;
printf("%.10lf\n",1/i);
}
}
出错地方:Int i;
结果如下:
当我改成float i;
int型 / int型 = int型【如果数学结果是存在小数,那实际存储是要舍弃小数的,就像你一开始的结果为0,而你输出又是以 %.10lf输出,所以输出 0.0000000000 输出10位小数】
PS: