可以用atexit()函数来注册程序正常终止时要被调用的函数,并且在main()函数结束时,调用这些函数的顺序与注册它们的顺序相反。
#include <stdio.h>
#include <stdlib.h>
void fn1(void);
void fn2(void);
int main()
{
atexit(fn1);
atexit(fn2);
printf(“main exit…\n”);
return 0;
}
void fn1()
{
printf(“calling fn1()…\n”);
}
void fn2()
{
printf(“calling fn2()…\n”);
}
~
输出:
main exit…
calling fn2()…
calling fn1()…