LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 758|回复: 6

命令行参数不理解

[复制链接]
发表于 2004-4-3 21:11:00 | 显示全部楼层 |阅读模式
很多code中都带有

  1. if (argc != 3) {
  2.     fprintf(stderr, "usage: %s <source> <destination>\n", argv[0]);
  3.     exit(1);
  4.   }
  5. or
  6. if (argc<2)
复制代码

我找了很多地方一直不是对这段很明白,希望解答一下,谢谢!
发表于 2004-4-3 21:16:56 | 显示全部楼层

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. int main (int argc,char *argv[])
  4. {
  5. printf ("%d\n",argc);
  6. while(argc)
  7. printf("%s\n",argv[--argc]);
  8. return 0;
  9. }
复制代码

running this program
 楼主| 发表于 2004-4-3 22:51:08 | 显示全部楼层
看了,但是还是一头雾水,解释一下好吗?
发表于 2004-4-3 22:59:24 | 显示全部楼层
argc 是计算参数的个数包括可执行的目标程序.
argv是参数名字,
if
#./a.out
argc == 1
argv[0] == a.out

if
#./a.out SOME_VALUE_1 SOME_VALUE_2
argc == 3
argv[0] == a.out
argv[1] == SOME_VALUE_1
argv[2] == SOME_VALUE_2

......
发表于 2004-4-4 11:44:06 | 显示全部楼层
楼上的头像中MM很cool,是你的同学吗?
发表于 2004-4-4 13:34:21 | 显示全部楼层
呵呵~~是网上的图片。。
发表于 2004-4-5 19:03:08 | 显示全部楼层
《THE C PROGRAMMING LANGUAGE》
清华出版  32K小本
作者 Brian W. Kernighan and Dennis M. Ritchie
中文名字可能是 《C语言程序设计》 16K版本,可能是清华出版也可能是机械出版
上面有你想知道的一切基础
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表