void main (int argc,char *argv[])
{
while (argc-->0)
printf ("%s/n",*argv++);
}
程序中的argc-->0代表什么呢?
while (argc-->0)
printf ("%s/n",*argv++);
类
while (argc>0) {
argc--;
printf("%s/n",*argv++);
}
main函数中所带的两个参数的含义这样的:argc表示运行本命令(编绎连接产生的exe文件)时所带参数的个数,注意这里包含EXE文件本身,argv是一个字符串数组指针,即argv[0]指向命令行中命令名(即 EXE的文件名)了,argv[1]指向一个命令参数,argc[2]指向第二个命令参数......如编绎后生的EXE文件是TEST.EXE,在DOS窗口输入以下命令 test /a
/b /c,则argc为4,argv[0]="test",argv[1]="/a",argv[2]="/b",argv[3]="/c".
你上面的程序的功能就是通过一个循环,分行输出包括命令本身在内的各个参数.
命令行输入内容以空格进行分割,其中argc是命令行参数个数, 即后面argv中指针的个数,argv[]是一个char*的数组,每一个argv指向一行命令,比如输入:
c:/>dir *.txt /a /s (回车)
则main函数中接受到的参数如下:
argc = 4
argv =
argv[0] -> "dir"
argv[1] -> "*.txt"
argv[2] -> "/a"
argv[3] -> "/s"
实际是用argv[n]进行处理的,用argc判断参数个数。
转自:综合几个论坛的帖子,恕不一一列出出处了,谢谢提供答案的诸位高手。