求一到十的阶乘之和,我这哪错了

#include "stdio.h"
void main()
{
int i,mul=1,sum=0,j;
for(i=1;i<=10;i=i+1)
{
for(j=1;j<=i;j=j+1)
mul=mul*j;
sum=sum+mul;
printf("%d",mul);
}
}

在每次计算之前,都需要把mul重置为1,代码及修改内容如下:

#include "stdio.h"
void main()
{
    int i,j;
    double mul=1,sum=0;
    for(i=1;i<=10;i=i+1)
    {
        mul = 1; //这里需要把mul重置
        for(j=1;j<=i;j=j+1)
            mul=mul*j;
        sum=sum+mul;
        
    }
    printf("%g",sum);
}

一次循环可以搞定的问题,不要循环2遍。
mul在循环里不停相乘,外层循环里又不给它初始化,最终它变得特别大

#include "stdio.h"
void main()
{
int i,mul=1,sum=0,j;
for(i=1;i<=10;i++)
{
mul=mul*i;
sum=sum+mul;

}
printf("%d",sum);//sum才是你要的最终结果,不要打印mul
}