循环输入无法正常运行

问题遇到的现象和发生背景

大一刚刚学习C语言,这是一个简易字典单词查询问题,下面是输入输出的一些要求,我想要实现重复查词的功能,

img

遇到的现象和发生背景,请写出第一个错误信息

我发现我的精准查词功能只能实现一次,第二次时输入yes时就会结束程序,而输入no后不会结束程序,程序可以正常进行

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
for(;;)
   {
      char word[50]={"\0"};
      printf("请输入单词:");
      scanf("%s",word);
      
      AccurateFind(fp,word);
      rewind(fp);
      if(state==-1) 
      {
         char choose1[5];
         printf("是否进行智能查词(yes/no):");
         scanf("%s",choose1);
         if(strcmp(choose1,"yes")==0) 
         {
            IntelligentSearch(fp,word);
            printf("成功运行智能查词\n");
         }
      }
      state=-1;
      printf("若退出程序请输入exit:");
      char choose2[10]={"\0"};
      scanf("%s",choose2);
      if(strcmp(choose2,"exit")==0) break;
   }

运行结果及详细报错内容

第二次输入yes

img


img


输入no

img

img

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

我不知道是不是缓冲区之类的问题,尝试过添加getchar,也不行

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

想要实现多次智能查词这个功能

看看IntelligentSearch函数

第16行后插入一行:rewind(fp);