此问题来自:C和C++程序员面试秘笈 p15
方法:用atexit()函数来注册 程序正常终止时要被调用的函数
用法:用 法: int atexit(void (*func)(void));其参数是一个指针函数,指向一个没有参数也没有返回值的函数
例子:
#include <stdio.h>
#include<stdlib.h> //atexit包含在此
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()…
输出顺序与注册顺序相反!!!