SayCoo論壇

標題: 詢問一個 c 的問題 [打印本頁]

作者: canthony    時間: 2006-11-9 01:58
標題: 詢問一個 c 的問題
char YN;
int count = 0;
上面宣告一個這個後


while(1){
      printf("\nEnter again?(yes(y) /no(n)):\n");
            scanf("%c",&YN);
       
        if(count>=1)                    
        {
            scanf("%c",&YN);
        }
            count++;

        if(YN =='y' ||YN =='Y')   
           continue;
            else
            break;  
}

總是要讓他判斷count 大於 1 的問題
不然第二次 y 之後要在做第二次時
第一個scanf會失去效用

請問知道這個是什麼原因嗎???
第二次回來printf照樣會印
只是第二次回來  第一個scanf就沒法輸入了
害我每次都要做if  跑下面的第二個scanf


麻煩大大幫忙解決..
作者: nwlsa1098    時間: 2006-11-9 08:58
記得scanf()函數取得輸入值後
會將ENTER鍵的值留下
不知道是不是這個原因....
作者: canthony    時間: 2006-11-12 12:31
標題: 推樓上+1
樓上方法   我之前已經試過了...ㄏㄏ
作者: nwlsa1098    時間: 2006-11-13 17:05
do {
     printf("\nEnter again?(yes(y) /no(n)):\n");
     scanf(" %c",&YN);
                 
               %c前加個空白

    }while( YN =='y' ||YN =='Y');

試試看吧!!!




歡迎光臨 SayCoo論壇 (https://family.saycoo.com/) Powered by Discuz! X3.3