C語言中的exit與return的區別

2021-10-08 13:37:45 字數 1011 閱讀 5097

exit() 結束當前程序/當前程式/,在整個程式中,只要呼叫 exit ,就結束

exit(0)表示程序正常退出. 返回 0;

exit(1)表示程序非正常退出. 返回 1.

exit與return的區別

exit()函式與return語句的最大區別在於,呼叫exit()函式將會結束當前程序,同時刪除子程序所占用的記憶體空間,把返回資訊傳給父程序。當exit()中的引數為0時,表示正常退出,其他返回值表示非正常退出,執行exit()函式意味著程序結束;而return僅表示呼叫堆疊的返回,其作用是返回函式值,並且退出當前執行的函式體,返回到函式的呼叫處,在main()函式中, return n和exit(n)是等價的。

return示例1:

#include

#include

intprint()

return0;

}void

main

(void

)

執行結果:

呼叫print()函式之前

使用return來結束迴圈

print()函式的返回值ret=9

在上面的**中,用return語句來退出while死迴圈,在main()函式中print()函式的呼叫處將返回值賦給ret,列印輸出後可以看到使用return語句成功地返回了9。

exit示例2:

#include

#include

void

print()

return;}

void

main

(void

)

執行結果:

呼叫print()函式之前

使用exit來結束迴圈

從以上**可以看出,如果執行exit()函式後能夠返回到main()函式的呼叫處,那麼可以列印出接下來的資訊「呼叫print()函式之後」,但是執行結果表明在呼叫exit()函式之後沒有任何輸出,所以執行exit()函式之後將直接結束整個程式的執行。

c語言中return與exit的區別

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

C語言中exit 與return的區別

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

C語言中的exit 函式

函式名 exit 所在標頭檔案 stdlib.h 功 能 關閉所有檔案,終止正在執行的程序。exit 1 表示異常退出.這個1是返回給作業系統的。exit x x不為0 都表示異常退出 exit 0 表示正常退出 exit 的引數會被傳遞給一些作業系統,包括unix,linux,和ms dos,以供...