想问一下我这个求组合数的代码有什么问题,为什么结果一直显示不出来

#include<stdio.h>
double fact(int n);
int main()
{
int m,n;
int a,b,c;
double result;

printf("Please enter m:");
scanf("%d",&m);
printf("Please enter n:");
scanf("%d",&n);

a=fact(m);
b=fact(n);
c=fact(n-m);

printf("the result is:%.2f",b/(a*c));
return 0;

}

double fact(int n)
{
    int i;
    double product;

    product=1;
    
    for(i=1;i<=n;i++)
    {
        product=product*i;
    }
    return product; 
}

int a,b,c; 改为:double a,b,c;