为什么这个代码运行不出来结果哇,调试框就只有请按任意键继续QAQ

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
long fac(int k)
{
    long sum ;
    if (k == 0 || k == 1) 
        sum = 0;
    //else if (k < 0)
    //    printf("负数没有阶乘!\n");
    else
        sum = k * fac(k - 1);
    return sum;

}
long combination(int n, int m)
{
    long c ;
    c = fac(m) / (fac(n) * fac(m - n));
    return c;
}

int main()
{
    long comb ;
    int m , n ;
    printf("请输入两个数:");
    scanf("%d%d", &m, &n);
    getchar();
    comb = combination(n, m);
    printf("组合数的结果是:%d\n",comb);
    return 0;
}

0和1的阶乘等于1