2013-07-10 36 views
1

我已經搜索找到我的具體問題的答案,但找不到匹配的。據我所知,return 0return EXIT_SUCCESS實質上是說程序成功結束了,但如果你做return 1return 2或其他任何int值的話呢?不同的int值對編譯器意味着什麼不同,或者返回的任何int值只是表示程序成功終止,在這種情況下,輸入的int值無關緊要嗎?對於我的(有限的)知識,似乎int main()只是需要返回任何int來終止。我錯了嗎?返回不同的int值爲主()

謝謝,我很抱歉,如果之前問過,我只是無法找到它。

+0

看看[this](http://stackoverflow.com/questions/204476/what-should-main-return-in-c-c),它解釋得很好。無論您是否返回0,程序都會終止,返回值只是用來解釋程序如何終止(成功/失敗,爲什麼,請參閱[this](http://stackoverflow.com/questions/8626109) /我怎麼能得到我的主要功能已返回) – wlyles

+0

嘿,這裏是一個鏈接,解釋一切。希望有所幫助 – Gabriel

回答

0

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

「的代碼的返回的特定集合是唯一的,設置它的程序典型地,其指示成功或失敗的由函數或程序返回的代碼的值可以指示特定的原因。在許多系統中,數值越高,錯誤原因越嚴重[1]或者,每一位可能指示不同的條件,然後將它們一起存儲以提供最終值;例如,fsck確實這個。」

換句話說 - 0或EXIT_SUCCESS表示程序成功運行。其他值(包括EXIT_FAILURE)用於指示故障。每個單獨的程序可以選擇使用不同的程序定義代碼來指示不同的故障原因

0

它確實很重要。如果以0EXIT_SUCCESS的狀態退出,那麼您知道程序已正確到達主功能的末尾(或調用了exit(0))。但是,您可以在程序中的任何位置使用exit(1)return 1,以便在程序停止時它不應該存在,這意味着您有錯誤。

不同的數字可用於識別不同的錯誤,因此您可能確切知道程序退出的位置,但要成功退出,則應返回0EXIT_SUCCESS