先看一段代码:
#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文件,并输入参数,如下:
可以看到我们执行该程序的exe文件时,输入了三个参数,然后结果却输出流四个参数,第一个为程序的名称,后面三个为输入的三个参数。
main函数的第二个参数"char *argv[]“也可以替换为"char **argv”,两者是等价的,输出改为 printf(“the num of %d argv is:%s\n”,i, *(argv+i)); 即可。