手机
当前位置:查字典教程网 >编程开发 >C语言 >深入探讨:main函数执行完毕后,是否可能会再执行一段代码?
深入探讨:main函数执行完毕后,是否可能会再执行一段代码?
摘要:可以使用atexit()函数注册一个函数,代码如下:复制代码代码如下:#include"stdafx.h"#includeusingname...

可以使用atexit()函数注册一个函数,代码如下:

复制代码 代码如下:

#include "stdafx.h"

#include <iostream>

using namespace std;

//int _onexit(void (*function)(void)); //这句可以要也可以不要

void f1()

{

cout << "f1()" << endl;

}

void f2()

{

cout << "f2()" << endl;

}

void f3()

{

cout << "f3()" << endl;

}

void f4()

{

cout << "f4()" << endl;

}

int _tmain(int argc, _TCHAR* argv[])

{

atexit(f1);

atexit(f2);

atexit(f3);

atexit(f4);

cout << "main function." << endl;

return 0;

}

输出结果:

复制代码 代码如下:

main

f4()

f3()

f2()

f1()

注意:atexit函数是按照栈的规则来调用注册的函数,先调用的最后输出,后调用的最先输出。

PS:以上是网上大部分人认为的,还有很多人持有不同意见。在此,保留一定的看法!不足之后,还望指正!

【深入探讨:main函数执行完毕后,是否可能会再执行一段代码?】相关文章:

c/c++中变量的声明和定义深入解析

基于c++中的默认拷贝函数的使用详解

解析c++中参数对象与局部对象的析构顺序的详解

求子数组最大和的实例代码

C++获取任务栏打开程序窗口示例

深入分析C++中执行多个exe文件方法的批处理代码介绍

解析在main函数之前调用函数以及对设计的作用详解

深入分析:C++模板究竟会使代码膨胀吗

基于malloc与free函数的实现代码及分析

基于内核线程的创建、使用和退出以及延时宏的补充说明介绍

精品推荐
分类导航