2 回答

TA貢獻1864條經(jīng)驗 獲得超2個贊
一、exit() 解釋:
1、用于結(jié)束當(dāng)前進程,在整個程序中,只要調(diào)用 exit ,就結(jié)束return() 是當(dāng)前函數(shù)返回,當(dāng)然如果是在主函數(shù)main, 自然也就結(jié)束當(dāng)前進程了,如果不是,那就是退回上一層調(diào)用。
2、exit(1)表示進程正常退出.,返回 1;
3、exit(0)表示進程非正常退出.,返回 0。
4、進程環(huán)境與進程控制:進程的開始與終止。
二、使用方法:
1、當(dāng)程序發(fā)現(xiàn)錯誤情況使它無法繼續(xù)執(zhí)行下去時,這個函數(shù)尤其有用。你經(jīng)常會在調(diào)用perrno之后再調(diào)用exit()終止程序。
注:這個函數(shù)沒有返回值。當(dāng)exit()函數(shù)結(jié)束時,程序已經(jīng)消失,所以它無處返回。
2、當(dāng)exit()函數(shù)被調(diào)用時,所有被atexit()函數(shù)注冊為退出函數(shù)的函數(shù)將按照它們所注冊的順序被反序依次調(diào)用(參數(shù)由于被壓入棧中,而先進后出)。
3、然后,所有用于流的緩沖區(qū)被刷新,所有打開的文件被關(guān)閉。用tmpfile()函數(shù)創(chuàng)建的文件被刪除。然后,退出狀態(tài)返回給宿主環(huán)境,程序停止執(zhí)行。
擴展資料
一、exit()程序?qū)嵗?/p>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
int main(int argc,char*argv[])
{
int status;
printf("Enter either 1 or 2\n");
status=getch();
/*Sets DOS error level*/
exit(status-'0');
/*Note:this line is never reached*/
return 0;
}
二、類似語句_exit()
1、_exit()函數(shù)類似于exit()函數(shù),但是_exit()不會調(diào)用atexit()注冊的退出函數(shù),也不會調(diào)用之前傳遞給signal()函數(shù)的信號處理函數(shù)。
2、此外,_exit()函數(shù)不需要清洗輸出緩沖區(qū),關(guān)閉打開的流,以及刪除臨時文件,是否執(zhí)行這些操作是由實現(xiàn)定義的。
- 2 回答
- 0 關(guān)注
- 1396 瀏覽
添加回答
舉報