问题很简单。。有个语句作用是什么?对于那个语句要如何输入?
题目:编写一段程序,将一个字符、零个或多个文件名作为命令行参数。如果字符后没有参数跟随,程序读取标准输入文件。否则,程序依次打开每个文件,然后报告 每个文件中该字符的出现次数。文件名和字符本身也与计数值一起报告。程序中包括错误检查,以确定参数数目是否正确和是否能打开文件。如果不能打开文件,程 序要报告这一情况然后继续处理下一文件。#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;
}