【发布时间】:2015-07-13 21:00:58
【问题描述】:
请告诉我下面的代码有什么问题。执行后显示
"test.txt 有 0 个字母 'r' 实例"
`#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main()
{
FILE *fp;
char ch,cmp;
char f[100];
int count=0,tu1,tu2;
printf("Enter the file name\n");
scanf("%s",f);
fp=fopen(f,"r");
printf("Enter the character to be counted\n");
scanf("%c",&ch);
tu1=toupper((int)ch);
while((cmp=fgetc(fp))!=EOF)
{
tu2=toupper((int)cmp);
if(tu1==tu2)
{
count++;
}
}
fclose(fp);
printf("\nFile \'%s\' has %d instances of letter \'%c\'",f,count,ch);
return 0;
}`
【问题讨论】:
-
您的意见是什么?文件的内容是什么?尝试在
scanf("%c",&ch);中的%c之前添加一个空格
标签: c file-io char scanf fgetc