递归的详解:

递归的定义: 在函数或子过程的内部,直接或者间接地调用自己的算法。                                                                                                        注明:1.在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。                                                                                               2. 局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序,递归算法执行效率较低。                   实例:递归实现阶乘                                                                                                                                          #include <stdio.h>
   int recursive(int i)
   {
       int sum;
       if(0 == i)
           return 1;
       else
           sum = i * recursive(i - 1); //执行的结果就是5*4*3*2*1 
       return sum;
   }
   int main()
   {
       unsigned int temp;
       temp = recursive(5);
       printf("temp = %d\n",temp);
   }                                                                                                                                                                                       结果:                                                 liuzj@ET302Buildver:~/zhanghong/make$ vim digui.c
liuzj@ET302Buildver:~/zhanghong/make$ gcc digui.c
liuzj@ET302Buildver:~/zhanghong/make$ ./a.out 
temp = 120
liuzj@ET302Buildver:~/zhanghong/make$  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值