C和C++中main函数里面参数的意义

用一句话概括,都是用来存储命令行参数的。下面看例子:
1.C/C++

#include<stdio.h>

main(int argc,char *argv[]){
for(int i=0;i<argc;i++){
printf("%s/n",argv[i]);

}
int a;
scanf("%d",&a);
}

其中argc表示命令行参数的个数。C/C++规定,程序本身的文件名也算一个命令行参数,因此argc的值至少为1. argv是一个字符指针型的数组,用来存储命令行参数。如:argv[0]指向的字符串就是第一个命令行参数.

C语言main函数的参数含义及输入   

问题重现:C语言main函数有两个参数,怎么在VC6.0下给main函数传递参数,以及各参数的意义。

带有参数的main()函数头格式为: 
                                                          void main(int argc, char * argv[]) 或void main(int argc, char ** argv) 
第一个参数argc是int型的,它用来存放命令行参数的个数。实际上argc所存放的数值比命令行参数的个数多1,这是因为系统默认将命令字(可执行文件名)作为第一个参数,存放在argv[0]的位置处。 
第二个参数argv是一个一维的一级指针数组,它是用来存放命令行中各个参数和命令字的字符串的,并且规定: 
       argv[0]存放命令字,也就是可执行的文件名
       argv[1]存放命令行中第一个参数 
       argv[2]存放命令行中第二个参数 
       …

例子:

假设程序的名称为prog,当只输入prog时,由操作系统传来的参数为:argc=1,表示只有一程序名称,argv[0]指向输入的程序路径及名称;当输入prog para_1时:argc=2,表示出了程序名外还有一个参数,argv[0]指向输入的程序路径及名称,argv[1]指向参数para_1字符串。

在VC6.0中,我们进行如下设置:

在 Project-->Setting -->Debug-->Program Arguments里面任意设置命令行参数:
                                                               This is the first time I post documents here.^_^

那么:

argv[1]存放命令行中第一个参数 ,即This
argv[2]存放命令行中第二个参数 ,即is

原文地址:https://www.cnblogs.com/liuwen1987/p/3463223.html