就业数据资源平台
当前位置:首页 > 笔试题目
笔试题(main 主函数)


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.\n" );


}


int fn1()


{


printf( "next.\n" );


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.


就业数据资源平台