C语言 函数递归调用错误 10
1个回答
展开全部
递归函数有三点要求:
1,递归的终止点,即递归函数的出口
2,不断的递归调用自身
3,递归函数主体内容,即递归函数需要做的事情
ps:3一般可以放在2的前面或者后面,一般1放最前面。另外,2和3可以根据不同的需要合并,比如,有时候递归函数的主体就是返回调用下层函数所得到的结果。
具体例子如下:
void fun(int n)
{
if(n<=0) return; //1 这是递归的终点,即出口
fun(n-1); //2、递归函数自身的调用
cout<<n<<endl; //3 递归函数的主体内容
}
2,3合并的情况
int fun(int n)
{
if(n<=0) return 0;
return fun(n-1)+fun(n-2); //2 3合并
}
1,递归的终止点,即递归函数的出口
2,不断的递归调用自身
3,递归函数主体内容,即递归函数需要做的事情
ps:3一般可以放在2的前面或者后面,一般1放最前面。另外,2和3可以根据不同的需要合并,比如,有时候递归函数的主体就是返回调用下层函数所得到的结果。
具体例子如下:
void fun(int n)
{
if(n<=0) return; //1 这是递归的终点,即出口
fun(n-1); //2、递归函数自身的调用
cout<<n<<endl; //3 递归函数的主体内容
}
2,3合并的情况
int fun(int n)
{
if(n<=0) return 0;
return fun(n-1)+fun(n-2); //2 3合并
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询