【发布时间】:2015-08-14 19:41:52
【问题描述】:
我想知道何时应该使用 exit() 函数而不是 return 语句。我可以用以下任一语句结束程序:
exit(0);
or
return;
我应该使用哪个以及何时使用?
使用exit()有什么好处吗?
【问题讨论】:
我想知道何时应该使用 exit() 函数而不是 return 语句。我可以用以下任一语句结束程序:
exit(0);
or
return;
我应该使用哪个以及何时使用?
使用exit()有什么好处吗?
【问题讨论】:
这两者在性质上非常不同。
exit()。如果从应用程序的任何部分遇到对exit() 的调用,则应用程序完成执行。 return 用于返回程序执行控制给调用者函数。仅在 main() 的情况下,return 完成执行。编辑:
为了澄清在main() 中使用时的情况,直接引用C11 标准,第 §5.1.2.2.3 章,程序终止,
如果
main()函数的return类型与int兼容,则初始调用main()函数时的return是等效 以main()函数返回的值作为参数调用exit()函数;11) 到达}终止main()函数返回值0。如果返回类型与int不兼容,则返回宿主环境的终止状态未指定。
所以,基本上,要么
return 0;exit(0);在main() 的上下文中表现相同。
【讨论】: