深入探讨:main函数执行完毕后,是否可能会再执行一段代码?
深入探讨:main函数执行完毕后,是否可能会再执行一段代码?
发布时间:2016-12-28 来源:查字典编辑
摘要:可以使用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:以上是网上大部分人认为的,还有很多人持有不同意见。在此,保留一定的看法!不足之后,还望指正!

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C语言学习
热门C语言学习
编程开发子分类