C语言课件函数剖析.ppt

第八章 §8.1概述 直接递归:函数在本函数内直接调用本函数,称为直接递归。 某函数调用其它函数,而其他函数又调用了本函数,这一过程称为间接递归。 Long fac(int n) {long f; if(n==0||n==1) f=1; else f=n*fac(n-1); return f;} main() { long y; int n; scanf(“%d”,n); y=fac(n); printf(“%ld”,y); } 思考题:利用递归调用求斐波那契数列的第40项,其中第一、第二项都是1,从第三项开始每一项是其前两项之和。 考虑: 1 (n=1,n=2) f(n)= f(n-1)+f(n-2) int f(int a,int b) /* 函数定义 */ { int c; if(ab) c=1; else if(a==b) c=0; else c=-1; return(c); }     如果按自左至右顺序求实参的值,则函数调用相当于f(2,3) 如果按自左至右顺序求实参的值,则函数调用相当于f(3,3) 对于函数调用 int i=2,p; p=f(i,++i); §8.4.2函数调用的方式

文档评论(0)

1亿VIP精品文档

相关文档