函数的递归调用
标签: C语言
学习人数: 2960

一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。C语言允许函数的递归调用。在递归调用中,主调函数又是被调函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层。
例如有函数 f 如下:

int f(int x)  
{  
    int y;  
    z = f(y);  
    return z;  
}  

这个函数是一个递归函数。但是运行该函数将无休止地调用其自身,这当然是不正确的。为了防止递归调用无终止地进行,必须在函数内有终止递归调用的手段。常用的办法是加条件判断,满足某种条件后就不再作递归调用,然后逐层返回。下面举例说明递归调用的执行过程。

 

【例】用递归法计算 n!
用递归法计算 n!可用下述公式表示:

n! = 1  (n = 0, 1)
n×(n - 1)!  (n > 1)

按公式可编程如下:

#include <stdio.h>  
  
long ff(int n) {  
    ...
登录查看完整内容


课后作业

掌握本节内容


登录后发布评论

暂无评论,来抢沙发