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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值