2 回答

TA貢獻1864條經驗 獲得超2個贊
一、exit() 解釋:
1、用于結束當前進程,在整個程序中,只要調用 exit ,就結束return() 是當前函數返回,當然如果是在主函數main, 自然也就結束當前進程了,如果不是,那就是退回上一層調用。
2、exit(1)表示進程正常退出.,返回 1;
3、exit(0)表示進程非正常退出.,返回 0。
4、進程環境與進程控制:進程的開始與終止。
二、使用方法:
1、當程序發現錯誤情況使它無法繼續執行下去時,這個函數尤其有用。你經常會在調用perrno之后再調用exit()終止程序。
注:這個函數沒有返回值。當exit()函數結束時,程序已經消失,所以它無處返回。
2、當exit()函數被調用時,所有被atexit()函數注冊為退出函數的函數將按照它們所注冊的順序被反序依次調用(參數由于被壓入棧中,而先進后出)。
3、然后,所有用于流的緩沖區被刷新,所有打開的文件被關閉。用tmpfile()函數創建的文件被刪除。然后,退出狀態返回給宿主環境,程序停止執行。
擴展資料
一、exit()程序實例:
#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()函數類似于exit()函數,但是_exit()不會調用atexit()注冊的退出函數,也不會調用之前傳遞給signal()函數的信號處理函數。
2、此外,_exit()函數不需要清洗輸出緩沖區,關閉打開的流,以及刪除臨時文件,是否執行這些操作是由實現定義的。
- 2 回答
- 0 關注
- 1382 瀏覽
添加回答
舉報