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