在进行C语言编程时,有时候需要使用命令行传参,下面对其进行一个分析。
int main(int argc,const char * agrgv[])
int argc 命令行参数个数(包含文件名)
const char* argv[] 指针数组:将命令行参数首地址作为元素,加上const关键字的意思是数组中的内容是不能修改的,很明显,我们进行传参的时候,里面的内容是不需要修改的,这就是const关键字的真正含义!
#include <stdio.h>
int main(int argc, const char *argv[])
{
printf("argc = %d\n",argc);
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);
return 0;
}
结果:
分析:
执行./a.out的时候,参数的个数为1个,这是a.out被放入到了argv[0]中;
执行./a.out 2 的时候,参数的个数为2个,这是2被放入到了argv[1]中。
以下方式实现参数无限传递,并且无限显示:
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i = 0;
printf("argc = %d\n",argc);
for (i = 0; i < argc; i++ )
{
printf("argv[%d] = %s\n",i,argv[i]);
}
return 0;
}
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i = 0;
printf("argc = %d\n",argc);
for(i=0; i<argc; ++i)
{
printf("argv[i] = %s\n",argv[i]);
}
return 0;
}