c語言中return與exit的區別

2021-06-18 23:23:38 字數 767 閱讀 1257

tag:

1,exit用於在程式執行的過程中隨時結束程式,exit的引數是返回給os的。main函式結束時也會隱式地呼叫exit函式。exit函式執行時首先會執行由atexit()函式登記的函式,然後會做一些自身的清理工作,同時重新整理所有輸出流、關閉所有開啟的流並且關閉通過標準i/o函式tmpfile()建立的臨時檔案。exit是結束乙個程序,它將刪除程序使用的記憶體空間,同時把錯誤資訊返回父程序,而return是返回函式值並退出函式 

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

3,exit函式是退出應用程式,並將應用程式的乙個狀態返回給os,這個狀態標識了應用程式的一些執行資訊。

4,和機器和作業系統有關一般是   0 為正常退出  非0 為非正常退出

5,void exit(int status); 

6,atexit()函式的引數是乙個函式指標,函式指標指向乙個沒有引數也沒有返回值的函式。atexit()的函式原型是:int atexit (void (*)(void));在乙個程式中最多可以用atexit()註冊32個處理函式,這些處理函式的呼叫順序與其註冊的順序相反,也即最先註冊的最後呼叫,最後註冊的最先呼叫。

一般程式執行到 main() 的結束就完成了, 如果想在程式結束時做一些事情, 可以嘗試著用這個函式.

example:

#include 

#include 

void f1(void)

void f2(void)

int main()

C語言中exit 與return的區別

整理自exit函式和return函式 1 exit用於在程式執行的過程中隨時結束程式,exit的引數是返回給os的。main函式結束時也會隱式地呼叫exit函式。exit函式執行時首先會執行由atexit 函式登記的函式,然後會做一些自身的清理工作,同時重新整理所有輸出流 關閉所有開啟的流並且關閉通...

C語言中的exit與return的區別

exit 結束當前程序 當前程式 在整個程式中,只要呼叫 exit 就結束 exit 0 表示程序正常退出.返回 0 exit 1 表示程序非正常退出.返回 1.exit與return的區別 exit 函式與return語句的最大區別在於,呼叫exit 函式將會結束當前程序,同時刪除子程序所占用的記...

詳解C語言中return與exit的區別

詳解c語言中return與exit的區別 1,exit用於在程式執行的過程中隨時結束程式,exit的引數是返回給os的。main函式結束時也會隱式地呼叫exit函式。exit函式執行時首先會執行由atexit 函式登記的函式,然後會做一些自身的清理工作,同時重新整理所有輸出流 關閉所有開啟的流並且關...