运行程序时,它说program.exe停止工作

时间:2019-01-23 14:29:04

标签: c++ function recursion

我的程序非常简单,我正在制作一个递归程序,我希望它一次又一次地调用它自己,直到任务完成为止,它可以很好地编译,但是它总是说“ 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));
}

1 个答案:

答案 0 :(得分:7)

您的阶乘递归函数需要一个停止条件

double factorial (double n)
{   if(n<1) return 1;
    return (n * factorial (n - 1));
}