exit(0)與exit(1)、return區別

exit(0):正常運行程序並退出程序;

exit(1):非正常運行導致退出程序;

return():返回函數,若在主函數中,則會退出函數並返回一值。

詳細說:

  1. return返回函數值,是關鍵字;  exit 是一個函數。

  2. return是語言級別的,它表示了調用堆棧的返回;而exit是系統調用級別的,它表示了一個進程的結束。
  3. return是函數的退出(返回);exit是進程的退出。

  4. return是C語言提供的,exit是操作系統提供的(或者函數庫中給出的)。

  5. return用於結束一個函數的執行,將函數的執行信息傳出個其他調用函數使用;exit函數是退出應用程序,刪除進程使用的內存空間,並將應用程序的一個狀態返回給OS,這個狀態標識了應用程序的一些運行信息,這個信息和機器和操作系統有關,一般是 0 爲正常退出, 非0 爲非正常退出。

  6. 非主函數中調用return和exit效果很明顯,但是在main函數中調用return和exit的現象就很模糊,多數情況下現象都是一致的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章