main主函数执行完毕后,是否可能会再执行一段代码?(朗讯的一道笔试题)

main主函数执行完毕后,是否可能会再执行一段代码?(朗讯的一道笔试题)
 

可以,可以用_onexit 注册一个函数,它会在main 之后执行;

如果你需要加入一段在main退出后执行的代码,可以使用atexit()函数,注册一个函数。  
 
语法:  
  #include   <stdlib.h>  
  int   atexit(void   (*function")(void));  
  #include   <stdlib.h>  
  #include   <stdio.h>    
  void   fn1(   void   ),   fn2(   void   ),   fn3(   void   ),   fn4(   void   );    
  int   main(   void   )  
  {  
        atexit(   fn1   );  
        atexit(   fn2   );  
        atexit(   fn3   );  
        atexit(   fn4   );  
        printf(   "This   is   executed   first.\n"   );  
  }   
  void   fn1()  
  {  
        printf(   "next.\n"   );  
  }   
  void   fn2()  
  {  
        printf(   "executed   "   );  
  }    
  void   fn3()  
  {  
        printf(   "is   "   );  
  }    
  void   fn4()  
  {  
        printf(   "This   "   );  
  }  

结果:

This   is   executed   first.  
 This   is   executed   next.  

你可能感兴趣的:(main主函数执行完毕后,是否可能会再执行一段代码?(朗讯的一道笔试题))