何时使用exit()返回?

Sou*_*nta 2 c c++ return exit

我想知道什么时候应该使用exit()函数覆盖return语句.我可以使用以下任一语句结束程序:

exit(0);

  or

return;
Run Code Online (Sandbox Code Playgroud)

我应该使用哪一个?何时使用?使用有什么好处exit()吗?

Sou*_*osh 8

这两者在本质上是非常不同的.

  • exit()当你想立即终止程序时使用.如果exit() 从应用程序的任何部分遇到调用,则应用程序完成执行.
  • return用于将程序执行控制返回调用函数.main()仅在情况下,return完成执行.

编辑:

用于澄清使用时的情况main(),直接引用C11标准,章节§5.1.2.2.3,程序终止,

如果return该类型的main()功能是与兼容的类型int中,return从到初始呼叫main()功能是等效于调用exit()与由返回的值函数main()功能作为它的参数; 11)到达}终止 main()函数返回值0.如果返回类型不兼容int,则不指定返回到主机环境的终止状态.

所以,基本上,要么

  • return 0;
  • exit(0);

将在上下文中表现相同main().