在程序退出main()函数之后,还有可能执行一部分代码吗

在程序退出main()函数之后,还有可能执行一部分代码吗,第1张

可以,但这要借助C库函数atexit()。利用atexit()函数可以在程序终止前完成一些“清理”工作——如果将指向一组函数的指针传递给atexit()函数,那么在程序退出main()函数后(此时程序还未终止)就能自动调用这组函数。在使用atexit()函数时你要注意这样两点:

第一: 由atexit()函数指定的要在程序终止前执行的函数要用关键字void说明,并且不能带参数;

第二: 由atexit()函数指定的函数在入栈时的顺序和调用atexit()函数的顺序相反,即它们在执行时遵循后进先出(LIFO)的原则。

#include<stdlibh>

#include<stdioh>

void my_exit1(void)

{

printf("my_exit1() function !/n");

}

void my_exit2(void)

{

printf("my_exit2() function !/n");

}

void main()

{

atexit ( my_exit1 );

atexit ( my_exit2 );

printf("now, eixt this program/n");

}

输出结果为:

now, eixt this program

my_exit2() function !

my_exit1() function !

阿秋!!!

1、break 强制退出循环(只能放在循环中),用于从For语句,while语句或repeat语句中强制退出。

2、continue 用于从For语句,while语句或repeat语句强行结束本次称称循环,并开始下一次循环。

3、exit 用于从当前代码块中退出。若该代码为主程序,则终止该程序,若是函数或过程,则立即该过程或函数。

4、abort 中止程序的运行,产生不报错的异常信息。跳出祖先模块。

exit(0)的意思是正常运行导致退出程序。

return返回函数值,是关键字;exit是一个函数。return是语言级别的,它表示调用堆栈的返回;而exit是系统调用级别的,它表示一个进程的结束。return是函数的退出(返回);exit是进程的退出。return是C语言提供的,exit是 *** 作系统提供的(或者函数库中给出的)。return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS( *** 作系统),这个状态标识了应用程序的一些运行信息,这个信息和机器和 *** 作系统有关,一般是0为正常退出,非0为非正常退出。

return break 都可以终止函数的运行 exit(0) # 无错误退出 exit(1) # 有错误退出这两条语句一般都会加在程序的最后 因为exit是迫使系统去终止程序的运行

以上就是关于在程序退出main()函数之后,还有可能执行一部分代码吗全部的内容,包括:在程序退出main()函数之后,还有可能执行一部分代码吗、Delphi 用什么语句退出函数、请问exit(0)什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9787744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存