exit 函式解析

2021-09-27 21:17:05 字數 1941 閱讀 9995

函式名: exit()

所在標頭檔案:stdlib.h(如果是c++,標頭檔案:#include < cstdlib >)

功 能:關閉所有檔案,終止正在執行的程序

exit(0)表示正常退出,

exit(x)(x不為0)都表示異常退出,這個x是返回給作業系統(包括unix,linux,和ms dos)的,以供其他程式使用。

stdlib.h: void exit(int status);//參 數status,程式退出的返回值

如果main()在乙個遞迴程式中,exit()仍然會終止程式;

但return將控制權移交給遞迴的前一級,直到最初的那一級,此時return才會終止程式。

即使在除main()之外的函式中呼叫exit(),它也將終止程式。

return();是某個函式的結束,並返回結果。

return返回函式值,是關鍵字; exit 是乙個函式。

return是語言級別的,它表示了呼叫堆疊的返回;而exit是系統呼叫級別的,它表示了乙個程序的結束。

return是函式的退出(返回);exit是程序的退出。

return是c語言提供的,exit是作業系統提供的(或者函式庫中給出的)。

return用於結束乙個函式的執行,將函式的執行資訊傳出個其他呼叫函式使用;exit函式是退出應用程式,刪除程序使用的記憶體空間,並將應用程式的乙個狀態返回給os,這個狀態標識了應用程式的一些執行資訊,這個資訊和機器和作業系統有關,一般是 0 為正常退出,非0 為非正常退出。

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

呼叫exit()函式退出時,printf(「this line is never reached\n」);和return 0;和兩句都不會執行。

#include #include #include using namespace std;

int output( )

{ int a[10];

ofstream outfile("f1.dat",ios::out);//定義檔案流物件,開啟磁碟檔案"f1.dat"

if(!outfile) //如果開啟失敗,outfile返回值

未進入exit(1) 分支,正常執行end!

把if(!outfile)修改為if(outfile),讓程式估計進入exit(1)分支

#include #include #include using namespace std;

int output( )

{ int a[10];

ofstream outfile("f1.dat",ios::out);//定義檔案流物件,開啟磁碟檔案"f1.dat"

if(outfile) //如果開啟失敗,outfile返回值

執行exit(1)函式後,整個程式直接結束,exit(1)後面的**都不會執行,output()子函式也不會執行返回,main函式後面的語句cout<

exit函式和 exit函式的區別

在談論exit函式與 exit函式之前,我們先了解一下他們的使用場景,他們是在程序終止中使用的,那什麼是程序終止呢?程序終止的場景 1 執行完畢,結果正確 即就是程序中的所有 都已執行完畢,而且執行結果也是你想要得到的,就像司馬懿的一生,順順利利的結束,實現了自己的人生理想,最後也成為了千古名人 2...

exit和 exit函式的區別

exit函式在函式退出時要對記憶體中的緩衝區做儲存處理,將緩衝區的內容儲存到磁碟。exit函式則不做這種處理,直接關閉,可能造成緩衝的資料丟失。在linux的標準庫函式中,有一套稱作高階i o的函式,我們熟知的printf fopen fread fwrite都在此列,他們也被稱作緩衝 i o。其特...

exit函式和 exit函式之間的區別

include include include include int main else return 0 這是別人的例項 我借用一下哈 這裡說明一下,printf是標準io函式,當遇到 n換行符的時候,才會將緩衝區裡面的內容進行輸出 執行結果是 this is exit test this is...