Lets write a C program to print/display natural numbers from 1 to user entered limit, using recursive function calls.
Related Read:
C Program to Print Natural Numbers from 1 to N using While loop
C Program to Print Natural Numbers from 1 to N using for loop
Recursive Functions In C Programming Language
Page Contents
#include<stdio.h> void display(int); int main() { int limit; printf("Enter the number of terms to be printed\n"); scanf("%d", &limit); printf("\nNatural Numbers from 1 To %d are:", limit); display(limit); return 0; } void display(int num) { if(num) display(num-1); else return; printf("\n%d\n", num); }
Output:
Enter the number of terms to be printed
14
Natural Numbers from 1 To 14 are:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
We ask the user to input the limit or the number of terms of natural numbers to be printed. We store that value inside variable limit. We pass this value to a function called display().
Inside display() function
We check if number is not zero, in that case we call the same function display() recursively and pass (num-1) to it. In the else block we write the base condition, that is, return the control back to the calling function if num is 0.
This prints the natural numbers from 1 to user input limit.
If limit = 5. We copy the value of limit to num. So num = 5.
num | Calling Function | Called Function |
---|---|---|
5 | main() | display(5) |
5 | display(5) | display(4) |
4 | display(4) | display(3) |
3 | display(3) | display(2) |
2 | display(2) | display(1) |
1 | display(1) | display(0) |
returns the control back | display(0) | return; |
Value Returning – Control Shifting back.
Function | Return Value |
---|---|
return; | |
display(0) | 1 |
display(1) | 2 |
display(2) | 3 |
display(3) | 4 |
display(4) | 5 |
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert