【问题标题】:When to use exit() over return? [duplicate]何时使用 exit() 而不是 return? [复制]
【发布时间】:2015-08-14 19:41:52
【问题描述】:

我想知道何时应该使用 exit() 函数而不是 return 语句。我可以用以下任一语句结束程序:

exit(0);

  or

return;

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

【问题讨论】:

    标签: c++ c return exit


    【解决方案1】:

    这两者在性质上非常不同。

    • 当您想立即终止程序时使用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() 的上下文中表现相同。

    【讨论】:

    • 所以在 main 函数中都一样吗?
    • @SouravKanta 更新了我的答案。立即检查。
    猜你喜欢
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    • 2023-01-30
    • 2013-08-24
    相关资源
    最近更新 更多