递归怎么理解 怎么调用 举个列子

发布网友 发布时间:2022-04-23 10:01

我来回答

1个回答

热心网友 时间:2023-10-10 15:16

/*递归例子*/

1 #include<stdio.h>
2 void up_and_down(int);
3 int main(void)
4 {
5 up_and_down(1);
6 return 0;
7 }
8 void up_and_down(int n)
9 {
10 printf("Level %d:n location %p\n",n,&n); /* 1 */
11 if(n<4)
12 up_and_down(n+1);
13 printf("Level %d:n location %p\n",n,&n); /* 2 */
14 }
递归的基本原理:

1 每一次函数调用都会有一次返回.当程序流执行到某一级递归的结尾处时,它会转移到前一级递归继续执行.
2 递归函数中,位于递归调用前的语句和各级被调函数具有相同的顺序.如打印语句 #1 位于递归调用语句前,它按照递
  归调用的顺序被执行了 4 次.
3 每一级的函数调用都有自己的私有变量.
4 递归函数中,位于递归调用语句后的语句的执行顺序和各个被调用函数的顺序相反.
5 虽然每一级递归有自己的变量,但是函数代码并不会得到复制.
6 递归函数中必须包含可以终止递归调用的语句.
再看一个具体的递归函数调用的例子:以二进制形式输出整数

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com