[C]atexit函数


// atexit()函数的作用就是在程序退出时做一些清理工作。参数是函数指针。
// 按照先进后出的原则,类似于栈
#include <stdio.h>
#include <stdlib.h> // for atexit()

void sign_off()
{
    puts("call sign off");
}

void too_bad()
{
    puts("call too bad");
}

int main()
{
    int n=0;
    atexit(sign_off);//注册sign_off 函数
    puts("enter an integer");
    if(scanf("%d",&n)!=1)
    {
        puts("That's no integer");
        atexit(too_bad);//注册too_bad 函数
        exit(EXIT_FAILURE);
    }
    printf("%d is %s.\n",n,(n%2==0)?"even":"odd");
    return 0;//隐式调用exit() 所以会调用sign_off
}

Result:
[C]atexit函数

[C]atexit函数

上一篇:修改普通用户密码报错:BAD PASSWORD: is too simple


下一篇:五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O