求助:关于主函数。
经常看到主函数 main(int ac,char *av[]) 我不太明白ac,av。比如
main(int ac,char *av[])
{
if(ac==1)
do_ls(".");
else
while(--ac)
{
printf("%s:n",*++av);
do_ls(* av);
}
}
上面的程序是编ls命令。我是新手所以问题比较幼稚。
[ 本帖最后由 湖光倒影 于 2006-7-23 10:31 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
哈哈,我明白了,谢谢大家。
复制代码
把上面的程序调一下.
int main(int argc,char *argv[])
第1个参数是命令行参数的个数. char *argv[]是一个存放字符指针的数组, 每个指针指向一个具体的命令行参数(字符串)
运行一下 不难发现
[root@ReinSquid code]# ./020 haha 1
./020
haha
1
ANSI C定义的主函数的参数实际上是可变长的,最多可以为三个.第三个参数与第二个参数类似,存放环境变量.
不带参数ac=1,列出当前目录
带参数,就累出以参数为目录名的目录内容
ac >=1
是啊 。初学linux 下C,谢谢你。
也是是说,当ac为1 的时候表示ls .(点可以省略) ,列出本目录的文件。
当ac大于1的时候表示 ls *av[] 列出av所指的目录的文件。
当ac小于1,表示错误。
我说的对吗。
你初学c?
ac表示av中的参数个数