main 主函数执行完毕后 是否可能会再执行一段代码 给出说明?

行业问题 函数,代码 已帮助 人

main 主函数执行完毕后,是否可能会再执行一

段代码,给出说明?

热搜:一个c程序的执行是从本程序的main函数开始

答案解析

难度★★☆ 搜索
  • 正确答案:

    可以,可以用_onexit 注册一个函数,它会
    在main 之后执行int fn1(void), fn2(void), fn3(void),
    fn4 (void);
    void main( void )
    {
    String str("zhanglin");
    _onexit( fn1 );
    _onexit( fn2 );
    _onexit( fn3 );
    _onexit( fn4 );
    printf( "This is executed first." );
    }
    int fn1()
    {
    printf( "next." );
    return 0;
    }
    int fn2()
    {
    printf( "executed " );
    return 0;
    }
    int fn3()
    {
    printf( "is " );
    return 0;
    }
    int fn4()
    {
    printf( "This " );
    return 0;
    }
    The _onexit function is passed the address of a
    function (func) to be called when the program
    terminates normally. Successive calls to _onexit create
    a register of functions that are executed in LIFO
    (last-in-first-out) order. The functions passed to
    _onexit cannot take parameters.