Chinaunix

标题: main()函数参数 [打印本页]

作者: whcjx    时间: 2003-07-01 14:50
标题: main()函数参数
程序如下:
  main(int argc,char *argv[])
      {while(argc-->;1)
        printf("%s\n",*++argv);
      }
请问:argv能否通过自加运算。
作者: whcjx    时间: 2003-07-01 15:18
标题: main()函数参数
在学习C时,自加/减运算主要是针对变量。不知为何上述程序可这样写。
作者: whcjx    时间: 2003-07-01 15:55
标题: main()函数参数
我正学习C语言。一直比较纳闷,有哪位老师知道的话,烦请说明,谢谢!
作者: unicorns    时间: 2003-07-01 15:59
标题: main()函数参数
argv是一个指向指针的指针,
++当然可以了,因为他是指针嘛,也是一个变量呀,不矛盾
指向下一个串咯
作者: whcjx    时间: 2003-07-01 16:06
标题: main()函数参数
书上说argv表示数组名,针对于数组名是不能进行增加运算的。
作者: unicorns    时间: 2003-07-01 16:10
标题: main()函数参数
写成这样main(int argc,char *argv[])
和写成这样main(int argc,char **argv)
是等价的
在函数内部只知道argv的类型是指针
并不知道他是数组
即使你有个函数是这样void func(char* a[])
在func里你也不能memset(a, 0, sizeof(a))
因为他根本不知道他是一个数组
作者: whcjx    时间: 2003-07-01 16:21
标题: main()函数参数
那将程序改为:main(int argc,char *argv[4])
{while(argc-->;1)
printf("%s\n",*++argv);
}
argv是否还能++运算。谢谢unicorns !
作者: whcjx    时间: 2003-07-01 16:41
标题: main()函数参数
那将程序改为:main(int argc,char *argv[4])
{while(argc-->;1)
printf("%s\n",*++argv);
}
argv是否还能++运算。谢谢unicorns !
作者: unicorns    时间: 2003-07-01 16:48
标题: main()函数参数
可以,你可以试一下
作者: odin_free    时间: 2003-07-01 20:38
标题: main()函数参数
多做测试程序 更能节省时间~~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2