return没能跳出循环(递归求一个整数的质因子)
void yin(int n)
{
int i;
for(i=2;i
{
if(n%i==0)
{
printf("%d*",i);
yin(n/i);
}
}
printf("%d",n);
return;
}
int main()
{
int n;
scanf("%d",&n);
yin(n);
return 0;
}
return没能跳出循环,在输出所有质因子后又再次进入函数。
既然用了递归,就不应该用循环
调试时显示执行到retun后又从函数开始执行了