Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

C/C++ program for calling main() in main()

  • Difficulty Level : Easy
  • Last Updated : 28 Jul, 2021

Given a number N, the task is to write C/C++ program to print the number from N to 1 by calling the main() function using recursion.
Examples: 
 

Input: N = 10 
Output: 10 9 8 7 6 5 4 3 2 1
Input: N = 5 
Output: 5 4 3 2 1 
 

We provide nothing but the best curated videos and practice problems for our students. Check out the C Foundation Course and master the C language from basic to advanced level. Wait no more, start learning today!

 

Approach:



  1. Use static variable to initialise the given number N.
  2. Print the number N and decrement it.
  3. Call the main() function recusrsively after above step.

Below is the implementation of the above approach:
 

C




// C program to illustrate calling
// main() function in main() itself
#include "stdio.h"
 
// Driver Code
int main()
{
 
    // Declare a static variable
    static int N = 10;
 
    // Condition for calling main()
    // recursively
    if (N > 0) {
        printf("%d ", N);
        N--;
        main();
    }
}

C++




// C++ program to illustrate calling
// main() function in main() itself
#include "iostream"
using namespace std;
 
// Driver Code
int main()
{
    // Declare a static variable
    static int N = 10;
 
    // Condition for calling main()
    // recursively until N is 0
    if (N > 0) {
        cout << N << ' ';
        N--;
        main();
    }
}
Output: 
10 9 8 7 6 5 4 3 2 1

 

Time Complexity: O(N), where N is the given number.
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!