c語言exit和return的區別

時間 2022-03-08 17:15:23

1樓:匿名使用者

exit函式在標頭檔案stdlib.h中。

exit(0):正常執行程式並退出程式;

exit(1):非正常執行導致退出程式;

return():返回函式,若在main主函式中,則會退出函式並返回一值,可以寫為return(0),或return 0。

詳細說:

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的現象就很模糊,多數情況下現象都是一致的。

2樓:匿名使用者

return叫做返回語句,屬於c/c++的關鍵字,功能是將控制返回到主調函式,其返回值是任選的,可有可無,當處在main()函式時,會將控制返回給作業系統,其返回值(整形),可用作該程式的執行狀況甄別,以便作業系統給出必要的處理。

exit()叫做退出函式,其定義被包含在標頭檔案stdlib.h中,無論主函式中,還是其他函式中,該函式都會將控制返回到作業系統,其返回值的作用與return處在main()中時的返回值相同。

3樓:漫侃師兄

exit是退出程式,不再執行。return是返回一個數值。

如果返回值是void的函式return可以有可以沒有,但一般return 0;函式的返回型別是int,float,double則必須有一個返回值return。

4樓:匿名使用者

exit 退出的整個程式

而return是退出一個函式~~ 程式由main函式入口,由main結束,所以main函式中的return也相當於程式結束,

其他函式return 是表示這個函式的返回值

c語言中exit()函式和_exit函式有什麼區別

5樓:匿名使用者

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

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

6樓:匿名使用者

_exit()函式的作用最為簡單:直接使程序停止執行,清除其使用的記憶體空間,並銷燬其在核心中的各種資料結構;exit() 函式則在這些基礎上作了一些包裝,在執行退出之前加了若干道工序,也是因為這個原因,有些人認為exit已經不能算是純粹的系統呼叫。

exit()函式與_exit()函式最大的區別就在於exit()函式在呼叫exit系統呼叫之前要檢查檔案的開啟情況,把檔案緩衝區中的內容寫回檔案,就是"清理i/o緩衝"。

7樓:匿名使用者

去這裡看一下

c語言中的exit(0)和exit(1)有什麼區別?

8樓:杜哥是個小天才

exit好象在stdio.h裡面,所以要有包含標頭檔案

return是返回函式呼叫,如果返回的是main函式,則為退出程式

exit是在呼叫處強行退出程式,執行一次程式就結束

return 是返回

函式返回

而exit是退出

exit(1)表示異常退出.這個1是返回給作業系統的不過在dos好像不需要這個返回值

exit(0)表示正常退出

無論寫在那裡,都是程式推出,dos和windows中沒有什麼不一樣,最多是系統處理的不一樣。

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

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

拓展資料

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

9樓:子非魚的蝶夢

1、exit(1)表示異常退出,在退出前可以給出一些提示資訊,或在除錯程式中察看出錯原因。

2、exit(0)表示正常退出。

3、 return是語言級別的,是關鍵字,它表示了呼叫堆疊的返回,return用於結束一個函式的執行,將函式的執行資訊傳出個其他呼叫函式使用,如果返回的是main函式,則為退出程式。

而exit是系統呼叫級別的,是一個函式,它表示了一個程序的結束。 exit是在呼叫處強行退出程式,執行一次程式就結束。這個狀態標識了應用程式的一些執行資訊,這個資訊和機器和作業系統有關。

10樓:衛青芬仰卯

exit()就是退出,傳入的引數是程式退出時的狀態碼,0表示正常退出,其他表示非正常退出,一般都用-1,標準c裡有exit_success和exit_failure兩個巨集,用exit(exit_success);可讀性比較好一點。

使用exit()時,可以不論main()的返回值型別。

11樓:恣意凌風

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的現象就很模糊,多數情況下現象都是一致的。

12樓:完顏秀榮樓丙

兩者基本上沒有區別,但是exit(0);exit(1)有一個是完全退出,一個是非完全退出。

程式設計時,可以混用,但用exit(0)則比較常見,

13樓:皇甫蘭英曹璧

所謂正常非正常只是一個約定而已

exit(0)與exit(1)都是表示退出,而當你退出後建立你這個程序的父程序是可以通過方法獲得你的退出值。

所以這個0,1是提供給父程序判斷你執行正常與否用的一般來說,0表示正常結束,1表示異常,你還可以定義出各個退出值的意義方便父程序判斷

14樓:

exit(1)是異常退出,比如你的**在出現不應該出現的分枝,要求終止程式的時候就用exit(1)

exit(0)是正常退出,就是你認為**一切正常的時候的退出

15樓:匿名使用者

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

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

16樓:寧心聽曲

這是一般用來區別錯誤狀態的一種函式返回狀態法,除了以外的數字都是有錯誤的,但是錯誤類別是可以區分的,根據那個數字來區分:一般在errorno變數中!

17樓:匿名使用者

0是正常退出,1是錯誤退出

c語言中exit();怎麼用?

18樓:愛笑的剛剛好呀

exit()通常是用在子程式

中用來終結程式用的,使用後程式自動結束,跳回作業系統。

在c語言中: exit(0):表示正常退出;exit(1):

表示異常退出,這個1是返回給作業系統;值是返回作業系統的:0是正常退出,而其他值都是異常退出,所以我們在設計程式時,可以在推出前給一些小的提示資訊,或者在除錯程式的過程中檢視出錯原因。

使用exit()時,可以不論main()的返回值型別,它的標頭檔案是 stdlib.h。

19樓:斛秋芹公琴

void

exit(int

status);

程式終止函式,在退出之前會關門所有已經開啟的檔案,將快取中的資料寫入磁碟……

status:表示退出狀態,一般情況下0表示正常退出,非0表示非正常退出,一般可以設為以一值:

exit_failure:非正常退出,知道作業系統程式非正常退出exit_success:正常退出

20樓:資料**

加上標頭檔案#include

然後程式裡面exit(0);就可以了!

#include

#include

int main()

21樓:陽光上的橋

在需要的地方寫上這個語句就可以了,執行這個語句程式就結束。

22樓:小小外語君

按控制鍵,最後按指示燈,按推出就可以了

c語言中:函式exit(-1);與exit(0);的區別是什麼?是返回值嗎?

23樓:匿名使用者

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

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

24樓:高調是王道

這是一般用來區別錯誤狀態的一種函式返回狀態法,除了以外的數字都是有錯誤的,但是錯誤類別是可以區分的,根據那個數字來區分:一般在errorno變數中!

25樓:殍白

首先這個exit是針對你整個程式的程序而言的,也就是說讓你的程序退出(不管這行**是在程專序的哪個屬

地方,哪個函式),並返回了這個值。

然後,你要知道你的程式的程序是有父程序的,除了系統開機時自啟動的程序(linux裡面就是init,pid是0)。所以返回的這個值就會被你的程式的父程序接受到,進而知道你的程式是正常退出還是出錯中斷的。

c語言中exit與break區別

26樓:匿名使用者

exit 退出程式,呼叫exit(n)後,程式退出,並返回一個退出碼n;

break則退出當前迴圈,包括for,while等迴圈。

27樓:

exit直接退出函式體

break退出函式中的當前迴圈體

c語言函式return和void的用處和意義分別是什麼

難得當歌對酒時 以下不包括建構函式 但建構函式中可以寫return 以結束其執行 1,函式的返回值型別只要不是 void 就要返回一個相同型別的值,當函式出現在一個表示式中時,這個值就是函式的值,比如說你的e max a,b 中,max若不返回一個值,那e的值就有問題,這樣寫函式應該會有錯誤或者警告...

C語言關於return的內容

1全部你去掉了return z程式也一樣可以正常執行?你最好再檢查一遍,如果真是這樣那就是你的編譯器出問題了,因為你定義了max的返回值為一個int型的變數,沒有return的話在編譯的時候應該會有錯誤提示無法編譯才對。在c語言裡,return返回的是一個變數的副本。如果一個函式不需要返回任何東西,...

c語言中return的作用,C語言中return的作用?

作用1 表示返回,這個程式可以結束了,可以不帶引數,如果你的成員執行到這裡,你就不往後執行了,可以加一個return語句,就不會再執行了 作用2 返回指定型別的值,在定義函式的時候不是有 int af int 這裡是返回值,return 後面接的就是這個返回值,這個函式執行後就可以給別的變數賦值了,...