当前位置: 首页 > news >正文

main函数的两个问题

1、带参数的main函数的一种标准形式

     记住以后写不带参数的main函数这样写:  

int mai(void)
{

     return 1;
}
      带参数的main函数形式如下:

       int main(int argc, char *argv[]) ;argc 参数个数,包括可执行文件名,argv是指针数组,该数组的元素是指向字符串的字符指针,

argv[0]是指向可执行文件名字符串的字符指针,以此类推。

#include <iostream>

using namespace std;
int main(int argc,char *argv[])
{
	for(int i=0;i<argc;i++)
	{
		cout<<argv[i]<<'\t';

    }
	return 0;

}

cmd-debug目录下 输入 cppTry  I  Love  My  Family   输出 cppTry   I   Love   My   Family


2、main 主函数执行完毕后,可能会再执行一段代码,说明如下

     先认识下一个函数: _onexit()函数

     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.

     关于 _onexit()函数,最重要的就是LIFO被注册的函数不能带参数

#include <iostream>
#include <string>
using namespace std;


int fn1()
{
	printf("f1.\n");
	return 0;
}

int fn2()
{
	printf("f2.\n");
	return 0;
}
int fn3()
{
	printf("f3.\n");
	return 0;
}
int fn4()
{
	printf("f4.\n");
	return 0;
}



void main( void )
{
	string str("zhanglin");
	_onexit( fn1 );
	_onexit( fn2 );
	_onexit( fn3 );
	_onexit( fn4 );
	printf( "This is executed first.\n" );
}





    


相关文章:

  • C++中的空类,编译器默认可以产生哪些成员函数
  • C/C++内存知识
  • 从错误中得知--关于字符串我以前没注意的东西
  • 从错误中得知--有关malloc自己容易错的地方。
  • C语言学习之内存管理函数malloc()和free()
  • 笔记本电池常识和THINKPAD电源管理器介绍--能设置充电起点和终点
  • C++开发人员必备:86本C++教程电子书下载
  • 各种排序算法的复习
  • 简单算法--闰平年问题
  • POJ2080--Calendar以及一个类似的编程面试题
  • 简单算法--求最大公约数和最小公倍数
  • Linux--软件安装+常用命令--1:Ubuntu Server 12.04 安装手记 + Ubuntu 12.04 菜鸟完全使用教程PDF
  • ForFisrtWork:为了下午六点半的京东方笔试
  • ForFisrtWork--No.5:刚考完2013软件开发B卷,回忆题目并总结之
  • 简单算法--将一个整型数字逆转
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • docker python 配置
  • Docker: 容器互访的三种方式
  • HomeBrew常规使用教程
  • HTTP那些事
  • Mysql优化
  • PHP那些事儿
  • Tornado学习笔记(1)
  • uni-app项目数字滚动
  • 编写高质量JavaScript代码之并发
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 官方解决所有 npm 全局安装权限问题
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 区块链技术特点之去中心化特性
  • 使用putty远程连接linux
  • 微信支付JSAPI,实测!终极方案
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #if #elif #endif
  • (poj1.2.1)1970(筛选法模拟)
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • .gitignore文件设置了忽略但不生效
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 中 GetProcess 相关方法的性能
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET开发不可不知、不可不用的辅助类(一)
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Android]Android开发入门之HelloWorld
  • [AX]AX2012 SSRS报表Drill through action
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C#]winform制作圆形进度条好用的圆环圆形进度条控件和使用方法
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体