求1!+2!+.+20!的C语言

#include<stdio.h>
int main()
{
int n,i,c;
long long sum;
for(n=1;n<=20;n++){
c=1;
for(i=1;i<=n;i++){
c=c*i;
}
sum=c+sum;
}
printf("%ld",sum);
return 0;
}

因为变量c是存储阶乘的, int 改成 long long

#include<stdio.h>
int main()
{
    int n,i;
    long long c;  
    long long sum = 0;   // 初始化为0
    for (n = 1; n <= 20; n++) {
        c = 1;
        for (i = 1; i <= n; i++) {
            c = c * i;
        }
        sum = c + sum;
    }
    printf ("%lld", sum);     //  ld 改成 lld
    return 0;
}

博文里有

代码有什么问题吗?