首页 > 代码库 > 递归函数

递归函数

例程:

#include <stdio.h>void up_and_down(int);int main(void){    up_and_down(1);    return 0;}void up_and_down(int n){    printf("level %d: n location %p\n", n, &n);    if(n < 4)        up_and_down(n+1);    printf("level %d: n location %p\n", n, &n);}

递归的基本原理:

  1、每一级的函数调用都有自己的的变量。

  2、每一次函数调用都会有一次返回。

  3、递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序。

  4、递归函数中,位于递归调用后的语句的执行顺序和各个被调函数的顺序相反。

  5、虽然每一级递归都有自己的变量,但是函数代码并不会得到复制。

  6、递归函数中必需包含可以终止递归调用的语句。

递归函数