close

  之前寫作業的時候發現寫在 scanf 在讀取 char 型別時會出現問題。

程式碼:

#include <stdio.h>
#include <stdlib.h>

int main(){
    char C;
    while( 1 ){
        printf( "Enter a character:" );
        scanf( "%c", &C );
        printf( "%c\n", C );
    }
}

當只輸入一個字母S時,輸出:

output


"Enter a character" 會在 "S" 之後出現兩次。

這是因為除了讀取 "S" 外系統又多讀取了 "Enter" 鍵。

若要改善就在 Line8 的 "%" 前多放一個 " " Space,如:

#include <stdio.h>
#include <stdlib.h>

int main(){
    char C;
    while( 1 ){
        printf( "Enter a character:" );
        scanf( " %c", &C );
        printf( "%c\n", C );
    }
}

 

2014/11/15 多雲

arrow
arrow
    文章標籤
    程式語言
    全站熱搜
    創作者介紹
    創作者 紫漓雪 的頭像
    紫漓雪

    傾夢小筑

    紫漓雪 發表在 痞客邦 留言(0) 人氣()