永发信息网

讲一下c语言中递归函数的使用方法

答案:3  悬赏:0  手机版
解决时间 2021-04-14 13:10
讲一下c语言中递归函数的使用方法
最佳答案
递归函数有三点要求:
1,递归的终止点,即递归函数的出口
2,不断的递归调用自身
3,递归函数主体内容,即递归函数需要做的事情
ps:3一般可以放在2的前面或者后面,一般1放最前面。另外,2和3可以根据不同的需要合并,比如,有时候递归函数的主体就是返回调用下层函数所得到的结果。
具体例子如下:
void fun(int n)
{
   if(n<=0) return;   //1 这是递归的终点,即出口
    fun(n-1);        //2、递归函数自身的调用
    cout<}

2,3合并的情况
int fun(int n)
{
   if(n<=0) return 0;
    return fun(n-1)+fun(n-2);  //2 3合并
}
全部回答
递归,是函数实现的一个很重要的环节,很多程序中都或多或少的使用了递归函数。递归的意思就是函数自己调用自己本身,或者在自己函数调用的下级函数中调用自己。
递归之所以能实现,是因为函数的每个执行过程都在栈中有自己的形参和局部变量的拷贝,这些拷贝和函数的其他执行过程毫不相干。这种机制是当代大多数程序设计语言实现子程序结构的基础,是使得递归成为可能。假定某个调用函数调用了一个被调用函数,再假定被调用函数又反过来调用了调用函数。这第二个调用就被称为调用函数的递归,因为它发生在调用函数的当前执行过程运行完毕之前。而且,因为这个原先的调用函数、现在的被调用函数在栈中较低的位置有它独立的一组参数和自变量,原先的参数和变量将不受影响,所以递归能正常工作。程序遍历执行这些函数的过程就被称为递归下降。
程序员需保证递归函数不会随意改变静态变量和全局变量的值,以避免在递归下降过程中的上层函数出错。程序员还必须确保有一个终止条件来结束递归下降过程,并且返回到顶层。
相当于循环,要有判断条件,传递进去的参数要变化,满足条件调用自身,不满足条件就开始一层一层返回。简单例子:
int f(int i){
int sum=0;
if(i>0) sum+=f(i-1);
return sum;
}
main(){
int a=10;
printf("%d",f(a));
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
网王之凰御流
形容 知音难遇的诗句
三利大药房连锁六部桥店地址在哪,我要去那里
我真的快乐吗
怎么样把IP地址隐藏
怎么把外置sd卡设置为手机默认内存
单选题用基因型为AaBbCc(3对基因分别位于3对
天龙八部到那能打到好东西???
灞桥柳二胡用什么啁
求一个非主流可爱的女生网名 里面有一个嘞字
电脑的晶显上的灰尘怎么清洗?还有音响!
马作的卢飞快下一句是什么
消逝的光芒和生化哪个好玩
仙桃市仙桃学府生活馆地址有谁知道?有点事想
遇到那些装B的该怎么处理 ?
推荐资讯
单选题Jennystays________homeonSaturda
中国人都喜欢数字三吗?
单选题下列哪种情况使用罗盘测出的方向是准确
用“⊥”、“*”定义一种新运算,对于任意实
我想给我出生的女儿起个好点的名字
茶树菇发霉了还能吃吗,棉絮床垫发霉了晒了一
单选题“军叫工农革命,旗号镰刀斧头。匡庐一
G1准备刷RADIO,是不是刷了这个之后,必须刷ROM
沈阳住房公积金贷款指南 提前还款怎么办 看完
天意汽车城地址有知道的么?有点事想过去
叶子挂在树上,改为比喻句
我QQ农场每天怎么不赠化肥呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?