Write a recursive function in C programming to print all natural numbers between 1 to n. How to print all natural numbers from 1 to n using recursion in C program. Logic to print all natural numbers in given range using recursion in C programming.

**Example**

**Input**

Input lower limit: 1 Input upper limit: 10

**Output**

Natural numbers between 1 to 10: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

## Required knowledge

Basic C programming, If statement, Functions, Recursion

Learn more - Program to print all natural numbers in given range using loop.

## Declare recursive function to print natural numbers in given range

- First let us give a meaningful name to our function, say
`printNaturalNumbers()`

. - Next we need to print natural numbers in range. Hence, the function must accept two parameters i.e.
`start`and`end`limit to print natural numbers. For that let us update our function declaration say`printNaturalNumbers(int lowerLimit, int upperLimit);`

. - Finally the function should print all natural numbers in given range returning nothing i.e.
`void`

.

Function declaration to print all natural numbers in given range should look like `void printNaturalNumbers(int lowerLimit, int upperLimit);`

## Logic to print natural numbers in given range using recursion

Base condition of recursive function to print natural numbers is `loweLimit < upperLimit`

. Which is our required condition to return control from function. After checking base condition print the value of `lowerLimit` and make a recursive call to `printNaturalNumbers()`

function i.e. `printNaturalNumbers(lowerLimit + 1, upperLimit);`

.

## Program to print natural numbers from 1 to n using recursion

```
/**
* C program to print all natural numbers from 1 to n using recursion
*/
#include <stdio.h>
/* Function declaration */
void printNaturalNumbers(int lowerLimit, int upperLimit);
int main()
{
int lowerLimit, upperLimit;
/* Input lower and upper limit from user */
printf("Enter lower limit: ");
scanf("%d", &lowerLimit);
printf("Enter upper limit: ");
scanf("%d", &upperLimit);
printf("All natural numbers from %d to %d are: ", lowerLimit, upperLimit);
printNaturalNumbers(lowerLimit, upperLimit);
return 0;
}
/**
* Recursively prints all natural number between the given range.
*/
void printNaturalNumbers(int lowerLimit, int upperLimit)
{
if(lowerLimit > upperLimit)
return;
printf("%d, ", lowerLimit);
// Recursively call the function to print next number
printNaturalNumbers(lowerLimit + 1, upperLimit);
}
```

Read more - Program to find sum of natural numbers in given range using recursion.

Output

Enter lower limit: 1 Enter upper limit: 100 All natural numbers from 1 to 100 are: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,

Happy coding 😉

### Recommended posts

- Function and recursion programming exercise index.
- C program to print all even numbers in given range using recursion.
- C program to find sum of even numbers in given range using recursion.
- C program to find sum of digits using recursion.
- C program to find reverse of a number using recursion.
- C program to find factorial of a number using recursion.

<pre><code> ----Your Source Code---- </code></pre>