定义的类型问题
程序代码:
#include<stdio.h> #include<math.h> void main() { int sign=1,i=1.0; float sum=0.0,term=1.0; while(fabs(term)>=1e-6) { sum+=term; sign=-sign; i+=2; term=sign/i; } sum*=4; printf("PI=%7.5f\n",sum); }#include<stdio.h> #include<math.h> void main() { int sign=1; float sum=0.0,term=1.0,i=1.0; while(fabs(term)>=1e-6) { sum+=term; sign=-sign; i+=2; term=sign/i; } sum*=4; printf("PI=%7.5f\n",sum); }为什么定义i的类型不同会差距那么大的,而sign类型又可以是整型?
程序代码:
#include<stdio.h> #include<math.h> void main() { int sign=1; float sum=0.0,term=1.0,i=1.0; while(fabs(term)>=1e-6) { sum+=term; sign=-sign; i+=2; term=sign/i; } sum*=4; printf("PI=%7.5f\n",sum); }