如题所述
一般来说是自己调用自己,一般有两个分支,一个分支是调用自己,还有一个分支是结束条件
如求n!
int f(int n)
{
if(n==1) //这个是结束条件
return 1;
else //这个是调用自己的分支
return n*f(n-1);
}
还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数
这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见
但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数
如求n!
int f(int n)
{
if(n==1) //这个是结束条件
return 1;
else //这个是调用自己的分支
return n*f(n-1);
}
还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数
这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见
但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-01-17
递归调用是一种特殊的嵌套调用,是某个函数调用自己,而不是另外一个函数。但是调用的时候肯定有一个终止条件,退出递归调用。
第2个回答 推荐于2017-09-14
一般来说是自己调用自己,一般有两个分支,一个分支是调用自己,还有一个分支是结束条件
如求n!
int f(int n)
{
if(n==1) //这个是结束条件
return 1;
else //这个是调用自己的分支
return n*f(n-1);
}
还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数
这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见
但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数
如求n!
int f(int n)
{
if(n==1) //这个是结束条件
return 1;
else //这个是调用自己的分支
return n*f(n-1);
}
还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数
这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见
但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数
第3个回答 2013-01-17
函数自己调用自己,或两函数互相嵌套。
第4个回答 2013-01-17
自己调用自己就是递归,数据结构中的树遍历可以用递归实现。