The positive numbers 1, 2, 3... are known as natural numbers. The program below takes a positive integer from the user and calculates the sum up to the given number.

Visit this page to find the sum of natural numbers using a loop.

## Sum of Natural Numbers Using Recursion

```
#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;
}
```

**Output**

Enter a positive integer: 20 Sum = 210

Suppose the user entered **20**.

Initially, `addNumbers()`

is called from `main()`

with **20** passed as an argument.

The number **20** is added to the result of `addNumbers(19)`

.

In the next function call from `addNumbers()`

to `addNumbers()`

, **19** is passed which is added to the result of `addNumbers(18)`

. This process continues until `n` is equal to **0**.

When `n` is equal to **0**, there is no recursive call. This returns the sum of integers ultimately to the `main()`

function.