c语言main函数参数问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 17:02:24
main(int argc,char **argv)/这里这两个参数我就不懂了,还有那个argv为什么搞两个星号不是char *argv[] 吗,这样变有什么好处。。。/
....
....
while(--argc>=1&&(*++argv)[0]=='-') /这里也不懂,还有--和++,晕/
{
for(s=argv[0]+1;*s!='0';s++) /argv[0]+1是什么意思/
switch (*s)
{
case'l':
.......
case'w'
.........
case'c'
......
.......
..........
}
......
这主要是判断dos命令下用户输入了几个参数的一段程序,,,我不懂的地方太多了,希望高手指点。。。
指向指针的指针在这里代表什么....

char **argv一般都写成char *argv[],表示字符串数组,具体见下面分析
main的两个参数表示命令行下运行该程序的参数,例如你编译这个程序生成了a.exe
然后在命令行下
a arg1 arg2 arg3
然后回车运行,这时候argc就是4,argv[0]="a",argv[1]="arg1"....

1.**是表示指向指针的指针
应该换不了*的
2.while(--argc>=1&&(*++argv)[0]=='-')
argc先减一>=1且(argv地址加一后的内容)=='-'
3.argv[0]+1,argv的0号元素的内容(这里指向一个地址),所以是地址加一