Что такое функция main()?
Функция с именем «main» является специальной функцией. Это функция, вызываемая при запуске кода. Выполнение всех программ начинается с функции main() независимо от того, где эта функция фактически находится в коде.
Как перейти в стек main() из функции?
В любом стеке или рекурсии нашей программы мы можем просто вызвать функцию main(), чтобы легко перейти к основному стеку. Это можно продемонстрировать с помощью небольшой программы
Реализация:
С++
// C++ implementation
#include <bits/stdc++.h>
using
namespace
std;
// Declaring the function
void
fun();
// Driver code
int
main()
{
// Calling the function fun()
cout <<
"Inside main"
<< endl;
fun();
return
0;
}
void
fun()
{
static
int
key = 2;
if
(key == 0)
return
;
key--;
cout <<
"Inside fun"
<< endl;
// Calling the main() function to go
// back to the main stack
main();
}
Java
/*package whatever // do not write package name here */
import
java.io.*;
class
GFG {
static
int
key =
2
;
static
void
fun()
{
if
(key ==
0
)
return
;
System.out.println(
"Inside fun"
);
key--;
// Calling the main() function to go back to the
// main stack
GFG.main(
null
);
}
// Driver code
public
static
void
main(String[] args)
{
System.out.println(
"Inside main"
);
// Calling the function fun()
fun();
return
;
}
}
С#
using
System;
public
class
GFG {
static
int
key = 2;
static
void
fun()
{
if
(key == 0)
return
;
Console.WriteLine(
"Inside fun"
);
key--;
// Calling the main() function to go back to the
// main stack
GFG.Main();
}
static
public
void
Main()
{
// Code
Console.WriteLine(
"Inside main"
);
// Calling the function fun()
fun();
}
}
// This code is contributed by lokesh.
Выход
Inside main Inside fun Inside main Inside fun Inside main
Всякий раз, когда мы снова вызываем функцию main(), она снова запускает выполнение программы.