求助:关于主函数。

发布于 2022-07-18 09:41:33 字数 895 浏览 13 评论 5

经常看到主函数 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

转身以后 2022-07-25 07:02:05

哈哈,我明白了,谢谢大家。

橘亓 2022-07-24 15:28:07
  1. #include <stdio.h>
  2. int main(int argc,char *argv[])
  3. {
  4.     int i = 0;
  5.     for(;i<argc;i++)
  6.     {
  7.         printf("%sn",argv[i]);
  8.     }
  9.     return 0;
  10. }

复制代码

把上面的程序调一下.

int main(int argc,char *argv[])

第1个参数是命令行参数的个数.  char *argv[]是一个存放字符指针的数组, 每个指针指向一个具体的命令行参数(字符串)

运行一下 不难发现

[root@ReinSquid code]# ./020 haha 1
./020
haha
1

ANSI C定义的主函数的参数实际上是可变长的,最多可以为三个.第三个参数与第二个参数类似,存放环境变量.

找个人就嫁了吧 2022-07-24 14:27:03

不带参数ac=1,列出当前目录
带参数,就累出以参数为目录名的目录内容
ac >=1

寄居人 2022-07-23 08:41:46

是啊 。初学linux 下C,谢谢你。  
也是是说,当ac为1 的时候表示ls .(点可以省略) ,列出本目录的文件。
          当ac大于1的时候表示 ls *av[] 列出av所指的目录的文件。
          当ac小于1,表示错误。
我说的对吗。

短暂陪伴 2022-07-22 21:31:03

你初学c?
ac表示av中的参数个数

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文