通常我们见到的main函数都是不带参数的,实际上,main函数也可以带参数。main函数的参数是由谁传来的呢?答案是操作系统,C++规定main函数的参数只能有两个,即argc和argv,带参main函数的形式如下所示。
int main(int argc,char*argv[]) { …… }
第一个参数argc必须是整型变量,称做参数计数器,其值是包括命令名在内的参数个数;
第二个参数argv必须是指向字符指针数组,存放命令名和参数字符串的地址。
要调用带参主函数必须在操作系统环境下进行,参见如下示例代码:
#include<iostream> using namespace std; int main(int argc,char*argv[]) //两个参数 { for(int i=argc-1;i>=0;i--) //倒着输出,0到argc-1,防止越界 { cout<<argv[i]<<endl; } return 0; }
编译链接上述代码生成可执行文件,假设其名为example.exe,复制到C盘根目录下,在DOS环境下输入下列命令行:
example world hello
文件名example本身也算个参数,所以,上述命令行调用example.exe共用3个参数,DOS系统向main函数传递的参数argc为3,字符指针数组argv中的元素argv[0]、argv[1]、argv[2]分别存储着字符串example、world、hello的地址,按照main函数的定义,将3个字符串倒序输出。
原文地址:https://www.cnblogs.com/cyx-b/p/12513229.html
时间: 2024-11-06 19:02:28