系統並不認爲0是無錯誤,只是使用操作系統作處理時的人習慣用0表示無錯誤。操作系統不會用到這個返回值的,printf()的返回值恐怕你也從來沒用過(其實很多人甚至不知道scanf()都有返回值),它也一樣給出,跟這個道理一樣。
在C中,0為假,返回0其實意味著返回假值,本來應是失敗的意思,只是“成功只有一種狀況,但失敗有多種情形”,所以迫不得已用若干非零值來表達錯誤信息,則零就恰好能夠表達只用一種可能的成功狀態。這種約定是人爲的,而且與語言中的使用習慣自相矛盾。斤斤計較于main()必須返回零,很多餘。
[
本帖最后由 TonyDeng 于 2011-12-18 13:19 编辑 ]