在 C/C++ 中,将main函数定义成 void main() 。然而这种做法是错误的!因为在 C/C++ 标准中,从来没有定义过 void main() 这样的代码形式。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 “The definition void main( ) { /* … */ } is not and never has been C++, nor has it even been C.”。
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。
操作系统将 main 作为程序入口,调用 main 函数来执行程序;main 函数执行其语句序列,并返回一个值给操作系统。在大多数系统中,main 函数的返回值用于说明程序的退出状态。当主函数正常结束时,得到的函数返回值为 0;当 main 函数在执行过程出现异常或者错误时,函数返回值为一个非 0 的数,代表程序异常退出。