你把这两个函数改成 double 类型,内部变量 res 也声明成 double,就能算出正确结果了。
#include <stdio.h>
#include <math.h>
int main(){
double pi=0,result
int i=1
int s=-1
do{
s*=-1
result=1.0/i*s
i+=2
pi+=result
}while(fabs(result)>0.000001)
printf("pi=%10.4lf\n",pi*4)
return 0
}