return與exit的區別是什麼?

2021-07-03 06:02:41 字數 457 閱讀 2930

exit()是乙個函式,結束乙個程序,它將刪除程序使用的記憶體空間,同時把錯誤資訊返回父程序,在父程序中wait系統呼叫將接受到此返回資訊。

return返回函式值,是關鍵字。

在main函式中我們通常使用return (0);這樣的方式返回乙個值。

但這是限定在非void情況下的也就是void main()這樣的形式。

exit()通常是用在子程式中用來終結程式用的,使用後程式自動結束跳會作業系統。

但在如果把exit用在main內的時候無論main是否定義成void返回的值都是有效的,並且exit不需要考慮型別,exit(1)等價於return (1)

exit(0); //正常退出 

非0即是非正常退出 

數字0,1,-1會被寫入環境變數errorlevel,其它程式可以由此判斷程式結束狀態。 

一般0為正常推出,其它數字為異常,其對應的錯誤可以自己指定。

7 1 18 return與exit的區別是什麼

exit 是乙個函式 結束乙個程序,它將刪除程序使用的記憶體空間,同時把錯誤資訊返回父程序,在父程序中wait系統呼叫將接受到此返回資訊。return返回函式值,是關鍵字 在main函式中我們通常使用return 0 這樣的方式返回乙個值。但這是限定在非void情況下的也就是void main 這樣...

exit與return的區別

一直沒有太留意這兩者的區別,但是在看unix網路程式設計的時候遇到問題了,我很疑惑,書中很多的系統呼叫都被作者替換成了包裹函式,而這些包裹函式最後都是呼叫了乙個統一的錯誤處理函式,結構如下,我很奇怪為什麼呼叫包裹函式之後程式會直接退出,按我理解應該用exec直接替換掉主調函式才能使其終結。這裡的癥結...

return與exit 的區別

return 返回函式值,是關鍵字 很明顯,exit 是乙個函式。return 語言提供的,是語言級別的,它表示了呼叫堆疊的返回,是函式的退出 返回 而exit 是作業系統提供的 或者函式庫中給出的 是系統呼叫級別的,它表示了乙個程序的結束。exit 退出程式 把控制權交給作業系統 return 結...