C
According to coding standards, a good return program must exit the main function with 0. Although we are usingvoid main() in C, In which we have not suppose to write any kind of return statement but that doesn't mean that C code doesn't require 0 as exit code. Let's see one example to clear our thinking about need of return 0 statement in our code.
Example #1 :
#include <stdio.h>
void main()
{
// This code will run properly
// but in the end,
// it will demand an exit code.
printf("It works fine");
}
Output:
As we can see in the output the compiler throws a runtime error NZEC, Which means that Non Zero Exit Code. That means that our main program exited with non zero exiting code so if we want to be a developer than we make these small things in our mind.
Correct Code for C :
It works fineRuntime Error:
NZEC
#include <stdio.h>
int main()
{
// This code will run properly
// but in the end,
// it will demand an exit code.
printf("This is correct output");
return 0;
}
Output:
Note: Returning value other than zero will throw the same runtime error. So make sure our code return only 0.
Example #2 :
This is correct output
#include <stdio.h>
int main()
{
printf("GeeksforGeeks");
return "gfg";
}
Output:
Correct Code for C :
It works fineRuntime Error:
NZEC
#include <stdio.h>
int main()
{
printf("GeeksforGeeks");
return 0;
}
Output:
GeeksforGeeks
C++
In case of C++, We are not able to use void keyword with ourmain() function according to coding namespace standards that's why we only intend to use int keyword only with main function in C++. Let's see some examples to justify these statements.
Example #3 :
#include <iostream>
using namespace std;
void main()
{
cout << "GeeksforGeeks";
}
Compile Errors:
Correct Code for C++ :
prog.cpp:4:11: error: '::main' must return 'int'
void main()
^
#include <iostream>
using namespace std;
int main()
{
cout << "GeeksforGeeks";
return 0;
}
Output:
Example #4 :
GeeksforGeeks
#include <iostream>
using namespace std;
char main()
{
cout << "GeeksforGeeks";
return "gfg";
}
Compile Errors:
Correct Code for C++ :
prog.cpp:4:11: error: '::main' must return 'int'
char main()
^
prog.cpp: In function 'int main()':
prog.cpp:7:9: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
return "gfg";
^
#include <iostream>
using namespace std;
int main()
{
cout << "GeeksforGeeks";
return 0;
}
Output:
GeeksforGeeks