A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高伟杰 中级黑马   /  2014-3-26 00:54  /  1171 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 高伟杰 于 2014-3-26 19:51 编辑

在读老师博客时,看到 int main(int agrc , const char *argv[ ])这行,自己好奇为什么这么写,于是百度了下,按照百度百科上的示例代码:
  1. #include <stdio.h>
  2. int main(int argc,char *argv[]){
  3.      printf("%d\n",argc);
  4.      while (argc)
  5.         printf("%s\n",argv[--argc]);
  6.         return 0;
  7. }
复制代码
运行输入:hello world


运行结果为:3
                     ./a.out
                     hello
                     world
请问:可以让它不输出,不统计argv[0]么?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

4 个回复

倒序浏览
可以,这个简单。修改while循环如:while(argc > 1)
回复 使用道具 举报
conpgy 发表于 2014-3-26 18:55
可以,这个简单。修改while循环如:while(argc > 1)

修改后,可以不输出argv[0],但是,还是会统计argv[0],我再爬爬文,看看能不能找到更多相关的内容
回复 使用道具 举报
高伟杰 发表于 2014-3-26 19:50
修改后,可以不输出argv[0],但是,还是会统计argv[0],我再爬爬文,看看能不能找到更多相关的内容 ...

纠结在这里没有什么意义。argc本来就是定义的main函数从命令行上接收参数的个数。你非要把第一个参数舍掉,那直接argc减一就行。如下:
  1. int myArgc = argc - 1;
  2. printf("%d\n", myArgc);
复制代码
回复 使用道具 举报
conpgy 发表于 2014-3-27 08:24
纠结在这里没有什么意义。argc本来就是定义的main函数从命令行上接收参数的个数。你非要把第一个参数舍掉 ...

嗯 ,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马