对递归的理解
来源:互联网 发布:常见面试几种算法 编辑:程序博客网 时间:2024/05/16 15:17
递归是一个特殊的循环,程序模仿一个甜甜圈,程序在设定的条件下跳入下一层循环。
当一个c程序运行的时候在主方法里面的表达式必须运行完毕,递归的时候,程序一般是只运行了前面的一部分就跳入到下一层循环了,所以当程序从最底层返回的时候,必须运行完程序剩余的部分,所以如果程序没有设定递归跳出的条件的话,程序会陷入死循环状态,
程序跳入下一个循环的时候,会有一个断口,断口记录了方法传进来的参数,所以当下层返回的时候,将带着断口保留的参数一直执行剩下的程序 ,执行完毕后继续返回上一层。
/**
*xms 2015-4-25
**函数递归测试算法
**/
void f(int n){
if(n)
f(n/8);
printf("the result of f(n) is %d\n",n%8);
}
/**
*xms 2015-4-25
**/
f(123) 输出 0 1 7 3
0 0
- 对递归的理解
- 对递归的理解
- 对递归的理解
- 对递归的理解
- 关于对递归的理解
- 对递归的一些理解
- 对CTE递归 的理解
- 关于对递归的理解
- 对递归的理解归纳
- 对递归的简单理解
- 对递归的一点理解
- 我对递归的理解!
- 对递归的个人理解
- 对汉诺塔的递归理解
- 对递归算法的理解
- 对递归和非递归的理解
- 对递归函数的一点小理解
- 对函数及递归的通俗理解
- 用函数的调用来判断某年某月有多少天
- 利用WebView构建WebApps
- 开始我的c++学习之路
- 《Thinking in JAVA》读书笔记_第一章_1.1
- 图像分割之条形码分割
- 对递归的理解
- 为什么开发程序首选C#语言
- c++中const变量真的不可以修改吗?
- java实现二叉排序树
- POJ 2499 Binary Tree
- 第八周阅读四
- Android进阶(八)Can't create handler inside thread that has not called Looper.prepare()
- 【原创】IP摄像头技术纵览(一)---linux 内核编译,USB摄像头设备识别
- P123.36(请编写一个函数printdate(int year,int month,int day ),将输入的三个数字转化成英语纪年输出。)