Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C程序是否同时工作和停止运行? 如何在没有崩溃的情况下运行此程序_C - Fatal编程技术网

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等异常值,或者值小于除数的情况,我们的原始答案无法避免无限下降。