标题:问题很简单。。有个语句作用是什么?对于那个语句要如何输入?
取消只看楼主
c718382171
Rank: 2
等 级:论坛游民
帖 子:32
专家分:41
注 册:2013-12-21
结帖率:83.33%
已结贴  问题点数:5 回复次数:3 
问题很简单。。有个语句作用是什么?对于那个语句要如何输入?
题目:编写一段程序,将一个字符、零个或多个文件名作为命令行参数。如果字符后没有参数跟随,程序读取标准输入文件。否则,程序依次打开每个文件,然后报告 每个文件中该字符的出现次数。文件名和字符本身也与计数值一起报告。程序中包括错误检查,以确定参数数目是否正确和是否能打开文件。如果不能打开文件,程 序要报告这一情况然后继续处理下一文件。


#include <stdio.h>
#include <stdlib.h>
int count(char ch, FILE *fp);
int main(int argc, char *argv[])
{
    int i;
    char ch;
    FILE *fp;
    if (argc<2)
    {
        printf("no char?\n");
        exit(1);
    }

    ch = argv[1][0];

    if ( argc == 2 )/*这个if有什么作用?有什么作用?*/
    {
        printf("input a article:");
                printf("In your input : %c has been appeared %d times.\n",ch,count(ch,stdin));
    }

    else
        for (i=2;i<argc;i++)
        {
            if( ( fp = fopen(argv[i],"r") ) == NULL )
                printf("Can't open %s\n",argv[i]);
            else
            {
                printf("In %s : %c has been appeared %d times.\n",argv[i], ch, count(ch,fp));
                fclose( fp );
            }
        }
        
        return 0;
}


int count(char ch, FILE *fp)
{
    int n=0;
    char ch2;
    while( (ch2=getc(fp)) != EOF)
        if( ch == ch2 ) n++;
        return n;
}
搜索更多相关主题的帖子: include count 如何 
2013-12-31 23:31
c718382171
Rank: 2
等 级:论坛游民
帖 子:32
专家分:41
注 册:2013-12-21
得分:0 
if ( argc == 2 )/*这个if有什么作用?要怎么输入,这个语句才能执行*/
    {
        printf("input a article:");
                printf("In your input : %c has been appeared %d times.\n",ch,count(ch,stdin));
    }
2014-01-01 22:37
c718382171
Rank: 2
等 级:论坛游民
帖 子:32
专家分:41
注 册:2013-12-21
得分:0 
回复 5楼 kajj_0321
它满足argc==2时,要求你输入,要怎么输入
2014-01-02 23:26
c718382171
Rank: 2
等 级:论坛游民
帖 子:32
专家分:41
注 册:2013-12-21
得分:0 
回复 4楼 TonyDeng
满足argc==2的时候,它要求你要输入,这时无论我怎么输入,它都不响应
2014-01-02 23:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-425965-1-1.html




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

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