arnold0613 发表于 2014-2-17 23:13:17

rewind(stdin) fflush(stdin) 差異在哪

char i;
    do{
      printf("請輸入:");
      i=getchar();
      rewind(stdin);
      //fflush(stdin);
    }
    while (i!='1' && i!='2');我就是要只能輸入 1 或是2 剛開始若不用rewind(stdin);清除上次輸入 會打印兩次"請輸入"但書上說 使用可以fflush(stdin) 我沒一次成功清除原本輸入的字元

為何會打印兩次還真不解 還有除了我這樣寫用rewind(stdin);方式還有什麼方式





超级忍者龟 发表于 2014-3-4 16:10:57

rewind和fflush都是排空缓冲器数据,你可以这样:
i=getchar();
getchar();
页: [1]
查看完整版本: rewind(stdin) fflush(stdin) 差異在哪