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

-2 c++ recursion function

我的程序非常简单我正在制作一个递归程序我希望它一次又一次地调用它自己直到任务完成它编译得很好但它总是说"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));
}
Run Code Online (Sandbox Code Playgroud)

Spi*_*koo 7

你需要一个因子递归函数的停止条件

double factorial (double n)
{   if(n<1) return 1;
    return (n * factorial (n - 1));
}
Run Code Online (Sandbox Code Playgroud)