虽然 word 和 s2 相同,但不执行 if(strcmp) 语句。哪里错了??我检查了从文件中读取的代码并尝试了“printf”以查看 word 和 s2 是否相同,发现它们在大约 10 次迭代后变得相同,并且应该在那时中断,但程序执行直到 i 是小于零。
请帮忙。提前致谢。PS“words.txt”是fedora操作系统内置的字典文件
#include<stdio.h>
#include<string.h>
int main(int argc,char *argv[])
{
FILE *ptr;
ptr=fopen("./words.txt","r");
char word[40];
char ch;
int i=70,j=0;
char s2[] = "2";
while(i>0){
while (ch!='\n') {
ch=fgetc(ptr);
word[j]=ch;
j++;
}
word[j]='\0';
if(strcmp(s2,word) == 0){
break;
}
j=0;
if(ch=='\n'){
ch=fgetc(ptr);
word[j]=ch;
j++;
}
i--;
}
fclose(ptr);
return 0;
}