想算阶乘的和 但是感觉定义函数后根本没有调用

想算阶乘的和
但是感觉定义函数后根本没有调用

#include<stdio.h>
int main ()
{
    int factorial(int n);
    int n,sum;
    int i;
    sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        printf("%d! = %d\n", i, factorial(i));
        sum+=factorial(i);
        printf("\n");
    }
    printf("%d\n",sum);
    return 0;
}

int factorial(int n)
{
    static int f;
    f=1;
    f=f*n;
    return f;
}

你这阶乘计算方法不对呀

 #include<stdio.h>
int main ()
{
    int factorial(int n);
    int n,sum;
    int i;
    sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        int temp=factorial(i);
        printf("%d! = %d\n", i, temp);
        sum+=temp;
        printf("\n");
    }
    printf("%d\n",sum);
    return 0;
}
int factorial(int n)
{
    static int f=1;
     f=f*n;
    return f;
}