返回main()的不同int值

时间:2013-07-10 21:55:38

标签: c++ return-value main

我搜索过我的具体问题的答案,但找不到匹配的问题。我理解return 0return EXIT_SUCCESS基本上做同样的事情,说程序已成功结束,但如果您执行return 1return 2或任何其他int值,该怎么办?物?不同的int值对编译器意味着不同的东西,或者返回任何int只是意味着程序成功终止,在这种情况下,你放入什么int值无关紧要?对于我的(有限的)知识,似乎int main()只需要返回任何int以终止。我错了吗?

谢谢,如果之前有人问我,我很抱歉,我只是无法找到它。

2 个答案:

答案 0 :(得分:0)

来自:http://en.wikipedia.org/wiki/Exit_status

“返回的特定代码集对于设置它的程序是唯一的。通常它表示成功或失败。函数或程序返回的代码值可能表示失败的特定原因。在许多系统上,值越高,错误的原因就越严重。[1]或者,每个位可以指示不同的条件,然后将它们组合在一起以给出最终值;例如,fsck执行此操作。“

换句话说 - 0或EXIT_SUCCESS表示程序成功运行。其他值(包括EXIT_FAILURE)用于表示失败。每个单独的程序可以选择使用不同的程序定义代码来指示不同的故障原因。

答案 1 :(得分:0)

这很重要。如果退出状态为0EXIT_SUCCESS,则表示您的程序已正确到达主函数的末尾(或exit(0)已调用)。但是,您可以在程序中的任何位置使用exit(1)return 1来阻止程序到达它应该没有的位置,这意味着您有错误。

可以使用不同的数字来识别不同的错误,因此您可能确切知道程序退出的位置,但为了成功退出,您应该返回0EXIT_SUCCESS