调试时出现0x00044FC9 处有未经处理的异常(在 ConsoleApplication2.exe 中): 0xC0000094: Integer division by zero。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m, k;
long res;
do {
printf("input m,k:");
scanf_s("%d,%d", &m, &k);
} while (m <= 0 || k <= 0 || m < k);
long Fact(int n);
res = Fact(m) / (Fact(k)*Fact(m - k));
printf("%d里面取出%d个组合为%1d\n", m, k, res);
return 0;
}
long Fact(int n)
{
int i;
long result = 1;
if (n < 0)
{
printf("输入数据错误\n");
}
else
{
for (i = 2; i <= n;i++)
{
result = result * i;
}
}
return 0;
}
0x00044FC9 处有未经处理的异常(在 ConsoleApplication2.exe 中): 0xC0000094: Integer division by zero。
Integer division by zero。
分母为0所以报错。
res = Fact(m) / (Fact(k)*Fact(m - k));
要对Fact(k)*Fact(m - k)判断是否0,如果为0就不能进行除法运算了。
Integer division by zero。除法的分母为0了,要判断一下。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!