C程序是否同时工作和停止运行? 如何在没有崩溃的情况下运行此程序
这个程序是关于寻找一个数字的辅因子,它正在工作,但同时这个程序在显示输出后崩溃。请看一看 这是节目单C程序是否同时工作和停止运行? 如何在没有崩溃的情况下运行此程序,c,C,这个程序是关于寻找一个数字的辅因子,它正在工作,但同时这个程序在显示输出后崩溃。请看一看 这是节目单 int coFactors(int number,int divisor) { if(number%divisor==0) { printf("%d ",divisor); number /= divisor; coFactors(number,divisor); } else if(number==divisor-1) { return; }
int coFactors(int number,int divisor)
{
if(number%divisor==0)
{
printf("%d ",divisor);
number /= divisor;
coFactors(number,divisor);
}
else if(number==divisor-1)
{
return;
}
else
{
coFactors(number,++divisor);
}
}
int main()
{
int num;
printf("Enter number:");
scanf("%d",&num);
coFactors(num,2);
return 0;
}
似乎以下条件是错误的:
else if(number==divisor-1)
应该是:
else if(number < (divisor))
else if(数字<(除数))
我之前的帖子本可以避免崩溃,但要得到正确的协因条件,应该像编辑一样
BLUEPIXY的建议是正确的 编译器说警告C4033:“辅因子”必须返回一个值。这将适用于它的三个条件代码块中的每一个。同时工作和崩溃。。。什么?听起来像一台量子计算机。1)int余子(-->-->
if(number==除数-1)
-->if(数字对于1
.True等异常值,或者值小于除数的情况,我们的原始答案无法避免无限下降。