请教一下这个程序为什么不能输出正确结果
程序代码:
#include"stdio.h" void main() { int m,n,i; printf("input m,n:\n"); scanf("%d%d",&m,&n); int cmn(int,int); printf("%d",cmn(m,n)); scanf("%d",&i); } int cmn(int x,int y) { int fac(int); int d; d=fac(x)/(fac(y)*fac(x-y)); return(d); } int fac(int k) { int j,s; for(j=1,s=0;j<=k;j++) s*=j; return(s); } 编译显示没有错误 运行就显示 Unhandled exception inCpp1.exe;0xC0000094;Integer Divide by Zero.