c++中main 函数执行完后还能执行其它语句吗?

来源:互联网 发布:玛格丽塔披萨 知乎 编辑:程序博客网 时间:2024/05/21 17:39

此问题来自: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()…

输出顺序与注册顺序相反!!!

0 0
原创粉丝点击