我的程序非常简单,我正在制作一个递归程序,我希望它一次又一次地调用它自己,直到任务完成为止,它可以很好地编译,但是它总是说“ programme.exe停止工作”
#include <iostream>
using namespace std;
double factorial (double);
main ()
{
double n;
cin >> n;
cout << factorial (n);
}
double factorial (double n)
{
return (n * factorial (n - 1));
}
答案 0 :(得分:7)
您的阶乘递归函数需要一个停止条件
double factorial (double n)
{ if(n<1) return 1;
return (n * factorial (n - 1));
}