您的位置:首页 > 其它

递归的详解:

2018-01-15 20:12 120 查看
递归的定义:在函数或子过程的内部,直接或者间接地调用自己的算法。
                                                                                                       注明: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$  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: