scanf運用出現喫回車解決方法

#include<stdio.h>  
  
int main()  
{  
    char a, b;  
  
    printf("請輸入兩個字符:\n");  
    scnaf("%c", &a);  
    scanf("%c", &b);  
  
    printf("%c", a);  
    printf("%c", b);  
  
    return 0;  
}       
在Linux環境下輸入兩個字符,結果輸出只有一個字符的問題.。  
主要原因是因爲當你輸入一個字符以後,輸入回車鍵換行的時候,第二個scanf把你輸入的回車鍵當做你輸入的字符處理了,導致了只有一個字符的輸出。解決辦法有很多,這裏提供兩種方法參考:  
方法一:  
#include<stdio.h>  
  
int main()  
{  
    char a, b;  
  
    printf("請輸入兩個字符:\n");  
    scnaf("%c", &a);  
    scanf(”%c”,&b));//在兩個scanf中間加一個scanf,把你輸入的回車鍵“喫掉”,這樣就能正常輸出了  
    scanf("%c", &b);  
  
    printf("%c", a);  
    printf("%c", b);  
  
    return 0;  
}       
  
方法二:  
#include<stdio.h>  
  
int main()  
{  
    char a, b;  
  
    printf("請輸入兩個字符:\n");  
    scnaf("%c,%c", &a,&b);//將兩個字符同時輸入,不用換行,就不會發生“喫掉”字符的情況。  
  
    printf("%c", a);  
    printf("%c", b);  
  
    return 0;  
}   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章