2011-08-31 70 views

回答

6
return EXIT_SUCCESS; 

的成功完成后,从您的main()函数返回操作系统的正确值。

另外,从std::exit(EXIT_SUCCESS)程序中的任何地方(它变得更加复杂,如果你有多个线程/进程,很明显)。

请注意,在大多数平台(特别是POSIX)上,EXIT_SUCCESS的值为0。所以return 0exit(0)通常也会工作。

+0

@Kerrek:你能提供一个链接? –

+0

对不起,没关系。我认为'0'和'EXIT_SUCCESS'具有完全相同的效果。我从下面的标准中发布了一些引用。重点是'main()'的默认行为是返回'0',所以我认为'0'是明确从'main'返回的更好的东西,尽管它与'EXIT_SUCCESS'具有相同的效果。 –

+0

@ Kerrek:我明白你的观点。 –

5

main()函数应该成功返回0

如果您致电exit(),可以使用0或宏EXIT_SUCCESS来调用它。来自FDIS 18.5.8,涉及void exit(int status)

如果状态为零或EXIT_SUCCESS,则返回状态成功终止的实现定义形式。

为了解释从main返回零,这里是3.6.1.5:

在主return语句有离开的主要功能(破坏自动存储时间的任何对象),并呼吁性病的效果::以返回值作为参数的退出。如果控制到达主结束而没有遇到返回语句,则效果是执行return 0;