哪里有逻辑错误?
实现检索文件内单词的代码 #include "stdio.h" #include "stdlib.h" main() {
char ch[20],cx,filename[20]; FILE *fp; printf("请输入要检索的词:\n"); gets(ch); if ((fp=fopen("E:\cc.txt","r"))==NULL) { printf ("不能打开所输入的文件\n"); exit (0); } while((cx=fgetc(fp))!=EOF) { if(strcmp(ch,cx)==0) printf("该文件包含该关键字\n"); else cx=fgetc(fp); } fclose(fp); }
搜索更多相关的解决方案:
逻辑
----------------解决方案--------------------------------------------------------
没有错误啊!!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "stdlib.h"
main()
{ char ch[20],cx,filename[20];
FILE *fp;
printf("请输入要检索的词:\n");
gets(ch);
if ((fp=fopen("E:\cc.txt","r"))==NULL)//"E:\\cc.txt注意这里要用\\
{
printf ("不能打开所输入的文件\n");
exit (0);
}
while((cx=fgetc(fp))!=EOF)//这里读的只是一个字符不是一个单词
{ if(strcmp(ch,cx)==0)//那么这里的比较就没有意义了,与你的想法不一样
printf("该文件包含该关键字\n");
else
cx=fgetc(fp);
}
fclose(fp);
}
----------------解决方案--------------------------------------------------------