欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

递归的简单用法

程序员文章站 2022-12-23 14:50:54
1 #include 2 int sum(int n)//递归函数 3 { 4 if (n == 1) 5 return 1; 6 else 7 return n + sum(n - 1); 8 } 9 void main() 10 { 11 printf("sum=%d\n", ......
 1 #include<stdio.h>
 2 int sum(int n)//递归函数
 3 {
 4     if (n == 1)
 5         return 1;
 6     else
 7         return n + sum(n - 1);
 8 }
 9 void main()
10 {
11     printf("sum=%d\n", sum(10));

编译后运行答案为:55
解题思路:
1.这类题需要首先要看主函数main()需求什么?
2.接着判断if要如何执行?再判断如何进入else?判断如何结束这个程序?
3.sum(n-1)要什么时候为零?是否当他为零时会跳出这个程序?

注意:
为了防止递归调用无休止的进行,必须在函数内终止递归调用的手段。
常用的方法是增加条件判断,满足某一条件则不再继续递归调用,然后逐层返回。