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