之前有遇到过,在程序退出时打印感谢语的问题,通过查阅找到了atexit函数,在此做下记录.
以下来自 百科:
函数名: atexit
头文件:#include<stdlib.h>
功 能: 注册终止函数(即main执行结束后调用的函数)
用 法: void atexit(void (*func)(void));
注意:exit调用这些注册函数的顺序与它们登记时候的顺序相反(可以理解为,先调用的函数,先入栈,根据栈先进后出的原理,最后调用的函数最先打印)。同一个函数如若登记多次,则也会被调用多次。
具体可见代码
void exit1()
{
printf("exit1\n");
system("pause");
}
void exit2()
{
printf("exit2\n");
system("pause");
}
void exit3()
{
printf("exit3\n");
system("pause");
}
int main()
{
printf("hello ^-^ \n");
atexit(exit1);
atexit(exit2);
atexit(exit3);
system("pause");
}
代码运行结果如下:
hello ^-^
请按任意键继续. . .
exit3
请按任意键继续. . .
exit2
请按任意键继续. . .
exit1
请按任意键继续. . .