VOOZH about

URL: https://www.geeksforgeeks.org/cpp/what-does-main-return-in-c-and-c/

⇱ What does main() return in C and C++? - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

What does main() return in C and C++?

Last Updated : 19 Sep, 2019

C

According to coding standards, a good return program must exit the main function with 0. Although we are using void 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 :
Output:
It works fine
Runtime Error:
NZEC
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 :
Output:
This is correct output
Note: Returning value other than zero will throw the same runtime error. So make sure our code return only 0. Example #2 :
Output:
It works fine
Runtime Error:
NZEC
Correct Code for C :
Output:
GeeksforGeeks

C++

In case of C++, We are not able to use void keyword with our main() 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 :
Compile Errors:
prog.cpp:4:11: error: '::main' must return 'int'
 void main()
 ^
Correct Code for C++ :
Output:
GeeksforGeeks
Example #4 :
Compile Errors:
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";
 ^
Correct Code for C++ :
Output:
GeeksforGeeks
Comment
Article Tags:
Article Tags: