习题课一函数递归调用.ppt

递归法源之于函数的嵌套调用 师傅的调用程序是: int main() { int n=4; printf(“%d!=%d”,n,fact(n)); } 老大设计的函数是: int fact(int n) { return n*fact(n-1); } 老五设计的函数是: int fact0() { return 1; } 于是,老大把最小妹始终放在最前,并且特别关照,不敢有半点马虎。修改程序为: int fact(int n) { if (n==0 ) return 1; return n*fact(n-1); } 递归法源之于函数的嵌套调用 师傅的调用程序是: int main() { int n=4; printf(“%d!=%d”,n,fact(n)); } 老大设计的函数是: int fact(int n) { if (n==0 ) return 1; return n*fact(n-1); } main fact(4) fact(3) fact(2) fact(1) fact(0) 返回 1 返回 1*1 返回 2*1 返回 3*2 返回 4*3 调用 fact(4) 调用 4*fact(3) 调用 3*fact(2) 调用 2*fact(1) 调用 1*fact(0

文档评论(0)

1亿VIP精品文档

相关文档