利用c语言求出e的值

img


哪位大佬可以帮忙看看问题出在哪里

#include <stdio.h>
int main()
{
    int n,d=1,i=1;
    double sum = 0;
    while(scanf("%d",&n) != EOF)
    {
        for(int i=1;i<=n;i++)
        {
          sum += 1.0/d;
          d*=i;
        }
        printf("%.4lf\n",sum);
    }
    return 0;
}