Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 1.58 KB

94.md

File metadata and controls

58 lines (39 loc) · 1.58 KB

C 程序:使用递归查找自然数之和

原文: 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);
    else
        return n;
} 

输出

Enter a positive integer: 20
Sum = 210 

假设用户输入了 20。

最初,从main()调用addNumbers(),并传递 20 作为参数。

数字 20 被添加到addNumbers(19)的结果中。

在从addNumbers()addNumbers()的下一个函数调用中,传递了 19,该值被添加到addNumbers(18)的结果中。 该过程一直持续到n等于 0。

n等于 0 时,没有递归调用。 这最终将整数和返回给main()函数。