求阶乘之和(一道c语言的基础题目)

#include <stdio.h>
(这个代码的问题是任意输入两个不相等的整数n1和n2,如果n1大于n2,则交换他们的值,输出从n1到n2(包括n1和n2)之间所有数的阶乘,最后再输出他们的总和,在测试平台上输入7和8我的答案会出现1,2,3的阶乘。希望各位可以帮忙解答,十分感谢)
在头歌上面编译超时。

#include <stdio.h>



int main()
{
    int n1,n2;
    scanf("%d,%d",&n1,&n2);
    int tmp;
    if(n1>n2)
    {
        tmp=n1;
        n1=n2;
        n2=tmp;

    }
    int i=n1,j;
    int sum1=1;
    int sum2=0;
  
    
    for(i=n1;i<=n2;i++)
    {
        for(j=1;j<=i;j++)
        {
            sum1*=j;
        }
        printf("%d\n",sum1);
        sum2+=sum1;
        sum1=1;
        
    }
    printf("%d",sum2);
    
    


    return 0;
}


并没有啊

img