1. 程式人生 > >C語言exit()、_exit()的區別

C語言exit()、_exit()的區別

exit()

使用exit()在程序退出之前會做兩個動作

1、呼叫退出處理函式

2、清理I/O緩衝

eg:

void ExitFun(void)
{
	printf("exit fun\n");
}

int main()
{
	atexit(ExitFun); // 註冊退出處理函式
	printf("word"); // 如果沒有清理緩衝區,將不會列印word
	exit(0);
}


如上所述,退出處理函式要先進行註冊

使用exit();退出的時候會自動呼叫退出處理函式

並且將會列印word


_exit()

使用_exit();將不會執行上述的兩個動作,即不會執行退出處理函式,也不會列印word