📜  用于在 main() 中调用 main() 的 C/C++ 程序

📅  最后修改于: 2021-09-25 04:22:57             🧑  作者: Mango

给定一个数字N ,任务是编写 C/C++ 程序,通过使用递归调用 main()函数来打印从 N 到 1 的数字。
例子:

方法:

  1. 使用静态变量初始化给定的数字N
  2. 打印数字N并将其递减。
  3. 在上述步骤之后递归调用 main()函数。

下面是上述方法的实现:

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();
    }
}


输出:
10 9 8 7 6 5 4 3 2 1

时间复杂度: O(N) ,其中 N 是给定的数字。