先看一段代码:

#include <stdio.h>

int main(int argc,char *argv[])
{
int i = 0;
printf("argc : %d\n",argc);

for(i=0;i<argc;i++)
{
printf("the num of %d argv is:%s\n",i,argv[i]);

}

return 0;

}

本段代码的功能很简单,输出main函数参数个数argc,逐行输出argv。

编译连接生成exe文件后,在命令行窗口执行该exe文件,并输入参数,如下:

int main(int argc,char *argv[])参数说明_main

可以看到我们执行该程序的exe文件时,输入了三个参数,然后结果却输出流四个参数,第一个为程序的名称,后面三个为输入的三个参数。

main函数的第二个参数"char *argv[]“也可以替换为"char **argv”,两者是等价的,输出改为 printf(“the num of %d argv is:%s\n”,i, *(argv+i)); 即可。