在此示例中,您将学习使用递归函数查找自然数之和。
要理解此示例,您应该了解以下C语言编程主题:
正数1、2、3 ...称为自然数。下面的程序从用户处获取一个正整数,然后计算得出给定数字的总和。
访问此页面可 使用循环查找自然数之和。
#include <stdio.h> int addNumbers(int n); int main() { int num; printf("输入一个正整数: "); scanf("%d", &num); printf("Sum = %d", addNumbers(num)); return 0; } int addNumbers(int n) { if (n != 0) return n + addNumbers(n - 1); else return n; }
输出结果
输入一个正整数: 20 Sum = 210
假设用户输入了20。
最初,从main()调用addNumbers(),并传入20作为参数。
数字20被添加到addNumbers(19)的结果中。
在下一个从addNumbers()到addNumbers()的函数调用中,将传递19,该值将添加到addNumbers(18)的结果中。 此过程一直持续到n等于0。
当n等于0时,没有递归调用。 这最终将整数和返回给main()函数。