按我自己的理解argc就是用来统计数组的个数,argv是用来展示数组里面有什么。但我不太清楚什么时候要用到这个
同时也不懂这样理解对不对,麻烦指出错误 :)
main(int argc,char *argv[])
假设程序的名称为prog
当只输入prog,则由操作系统传来的参数为:
argc=1,表示只有一程序名称。
argc只有一个元素,**argv[0]**指向输入的程序路径及名称:./prog
当输入prog para_1,有一个参数,则由操作系统传来的参数为:
argc=2,表示除了程序名外还有一个参数。
argv[0]指向输入的程序路径及名称。
argv[1]指向参数para_1字符串。
当输入prog para_1 para_2 有2个参数,则由操作系统传来的参数为:
argc=3,表示除了程序名外还有2个参数。
argv[0]指向输入的程序路径及名称。
argv[1]指向参数para_1字符串。
argv[2]指向参数para_2字符串。
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
printf("%s\n",argv[0]);//读取可执行程序(包括路径)
/*读取参数*/
int i = 1;
while(i < argc)
{
printf("%s\n",argv[i]);
i++;
}
//说明在dos和unix环境下,用""扩起来的表示其是一个字符串,代表着一个参数
return 0;
}
-----------------------------------------------------------
[xhh@xhhCentOS xhh_linux_learn]$ ./run xhh mcy 18 999
./run
xhh
mcy
18
999