在调用函数时,又直接或间接地调用该函数本身,这种情况称为函数的递归调用。
例如求正数n的阶乘的程序如下:
#include"reg51.h"
#include"stdio.h"
long factorial(int n) reentrant
{
long result;
if (n==0)
result=1;
else
result=n*factorial(n-1);
return result;
}
void main()
{
int j;
long tmp;
init_ser();
for (j=0;j<11;++j)
{
tmp=factorial(j);
}
for(;;) {;}
}
通过 增加关键字reentrant来允许函数进行递归调用。
阅读(1432) | 评论(0) | 转发(0) |