编程语言中,函数直接或间接调用函数本身,则该函数称为递归函数。
#include
using namespace std;
// 本程序用递归算法求n的阶乘
int counter=1;
int fac(int n)
{
cout<<"第"<<counter<<"次调用:"<<n<<" * "<<"fac("<<n-1<<")"<<endl;
if (n==1) {
return 1;
}
else
{
counter++;
return n * fac(n-1); // 断点1
}
}
int main()
{
int n;
cout<<"请输入求n的阶乘的n值:";
cin>>n;
cout<<"结果:fac("<<n<<")="<<fac(n)<<endl;
}