程序正确结束时应该使用EXIT_SUCCESS,否则应该使用EXIT_SUCCESS。例如,EXIT_SUCCESS为零,零可移植到任何操作系统,而EXIT_FAILURE则从UNIX更改为Windows。这些常量在stdlib.h
标题中定义。
#include <stdlib.h>
int main()
{
int toret = EXIT_SUCCESS;
if (!(/* do something useful here */)) {
toret = EXIT_FAILURE;
}
return toret;
}
当为控制台编写程序时,程序的返回码更有用。现在,除非你在非常专业的环境中工作(甚至现在正在改变,工作流程工具可用),这种情况非常罕见。
正如@Benoit所说,退出代码告诉操作系统操作何时成功与否。如果退出代码意味着失败,那么您可以中断批处理程序的流程,因为它不太可能解决问题。
例如,如果编译成功,则编译器的退出代码为零,如果编译失败,则编译器可以具有任何其他值。在Windows中,这可以通过操作系统变量“ERRORLEVEL”访问:当编译成功
gcc helloworld.cpp -ohelloworld.exe
goto answer%errorlevel%
:answer0
copy helloworld.exe c:\users\username\Desktop
echo Program installed
goto end
:answer1
echo There were errors. Check your source code.
:end
echo Now exiting...
此窗口批处理文件“安装”在HelloWorld.exe的桌面。由于您可以通过双击触发批处理文件的执行,因此可以避免触摸命令行进行编译。
当然,考虑到集成环境可以更好地管理(如果退出代码不存在,它们将无法正常工作)。还要注意的是使最好是在这一领域:
https://en.wikipedia.org/wiki/Make_(software)
让也需要退出的代码正确运行。
http://stackoverflow.com/questions/204476/what-should-main-return-in -c-and-c – 2015-08-06 20:24:23