为什么在C程序中从main()返回0?

The*_*Spy 5 c c++

在编写C/C++程序时,特别是最新的编译器,为什么我们需要从main()方法返回一个整数?像int main()一样,我们从它返回"return 0".那背后的确切原因是什么?

BRP*_*ock 12

main()的返回值成为进程的退出状态.传统上,退出状态为零通常意味着"OK",而任何非零值都表示某种错误.这类似于有多少系统调用同样返回零或错误代码.

更多关于J. Leffler对此的史诗回答的更多信息,类似的问题:main()应该在C和C++中返回什么?


eli*_*ide 8

如你所说,main()被宣布为int main().操作系统需要一个整数,因此它知道下一步该做什么,特别是如果另一个程序或脚本调用了你的程序.0意思是"没有错误." 其他任何意味着发生了错误.


小智 4

它向操作系统返回 0,告诉操作系统您的程序执行成功。

  • 不,操作系统不会关心程序返回什么,它只是存储它并提供给执行该程序或脚本的其他程序,如果需要,这些程序或脚本可以读取它以供自己使用 (4认同)