double与float
这是一个求PI的程序:
#include "stdio.h"
void main()
{int sign=-1;float n,pi=1;/*float改为double*/
for(n=1;1/(2*n+1)>=1e-6;n++)
{pi=pi+sign*(1/(2*n+1));
sign=-sign;
}pi*=4;
printf("%f",pi);
getch();
}所求结果为pi=3.141594
但是现在我将注释行float改为double,则会变为pi=3.141591
为什么????谢谢了!
我印象中的是 可以用float的地方可以用double,可以用double的地方却不一定能用float的,是不是这样?
谢谢大家了!!!