为什么输出总是0,看着也没啥问题0.0


#include<stdio.h>
#include<math.h>
int main()
{
    int n=0,sum=0,flag=1;
    double eps=0.0001;
    //scanf("%lf",&eps);
    while(fabs(1.0/(2*n+1))>=eps)
    {
        sum=sum+1.0*flag/(2*n+1);
        flag=-flag;
        n++;
    }
    printf("%.4lf\n",4*sum);
    return 0;
}

int sum 改为 double sum

img

 
#include<stdio.h>
#include<math.h>
int main()
{
    int n=0,flag=1;
    double eps=0.0001,sum=0;
    while(fabs(1.0/(2*n+1))>=eps)
    {
        sum=sum+1.0*flag/(2*n+1);
        flag=-flag;
        n++;
    }
    printf("%.4lf\n",4.0*sum);
    return 0;
}