| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:求各位C神帮忙看看一段C程序
只看楼主 加入收藏
saihuo092617
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-1
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:3 
求各位C神帮忙看看一段C程序
本人是C语言初学者,有一段程序总是看不明白,希望各位C神帮忙指点指点。


#include <steio.h>
#include <string.h>
#define MAXLINE 1000

int getline(char *line, int max);

/*  find函数: 打印与第一个参数指定的模式匹配的行  */
main(int argc, char *argv[])
 {
    char line[MAXLINE];
    int found = 0;

    if(argc != 2)
       printf("Usage: find pattern\n");
    else
       while(getline(line, MAXLINE) > 0)
          if(strstr(line, agrv[i]) != NULL)
           {
             printf("%s",line);
             found++;
            }
     return found;
 }
程序中第一个if语句是什么意思 ,为什么if语句的条件是 argc != 2  .found在程序中有什么作用?
搜索更多相关主题的帖子: C语言 include 
2012-09-01 12:31
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:7 
argc 是 main 的参数。如果不知道,去查查 main 的参数吧。一两句话说不清楚。
found 就是计数的呗。看看读入的行里有多少能匹配上参数的。
2012-09-01 13:56
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:7 
main(int argc, char *argv[])这是可以带命令行参数的代码,你运行时要带命令参数的,argc 是你命令参数的个数(包括前面要运行的程序名),而argv是你命令参数指针的指针也可以这样写main(int argc, char **argv),argv[1]就是指向你的第一个参数的指针,argv[2]是指向第二参数的指针......
if(argc != 2)
        printf("Usage: find pattern\n");//这语句意思是,你带的参数不是一个的话,就运行printf。

2012-09-03 11:48
senpujituan
Rank: 4
等 级:业余侠客
帖 子:91
专家分:203
注 册:2012-6-29
收藏
得分:7 
3楼回答的可以,这个好像在linux高级C中看到过,老师提了下。比如这样:./a.out b 。就是要带b这么个参数,不带或者多于1个,都执行printf("Usage: find pattern\n");2楼回答的也对,呵呵!!
2012-09-04 19:14
快速回复:求各位C神帮忙看看一段C程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022734 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved