想算1的阶乘加到n的阶乘,但为什么结果是加到n-1就没了?

int n = 0;
int t = 0;
scanf("%d", &n, &t);
while (n > 1)
{
n -= 1;
t = (1 + t) * n;
}
if (n == 1)
printf("t=%d\n", t);
想算1的阶乘加到n的阶乘,但为什么结果是加到n-1就没了?我刚接触C语言,别骂
这个的思路是1!+2!+3!=1(1+2(1+3))


#include <stdio.h>                 //.c的头文件
#include <stdlib.h>               //  system函数的头文件
int main()                        //主函数
{
    printf("请输入一个整数:\n");
    int n,sum=1;
    scanf_s("%d", &n);
    while (n > 1)
    {
        sum *= n;
        n--;
    }
    printf("和为%d ", sum);
}