關於getchar 與scanf 的用法總結

2021-08-21 15:18:25 字數 472 閱讀 9038

首先getchar()函式是輸入乙個字元,通常採用此函式將scanf()未處理的量進行釋放;

char a,b;

比如  scanf(「%c」,&a);

scanf("%c",&b);

printf("a:%c,b:%c\n",a,b);

此時你想讓a=1,b=2;

你會這樣輸入1enter鍵加2加enter鍵  此時你會發現b的值為空,那是因為scanf()函式預設你最後的enter鍵不是消失而是放在緩衝區裡,這時你再用scanf()的話,之前的enter鍵會從緩衝區裡進入到你的第二個scanf(),所以你會出現這樣的錯誤

此時你在第乙個scanf()後加乙個getchar();就沒問題了;

如下:char a,b;

scanf(「%c」,&a);

getchar();

scanf(「%c」,&b);

printf(「a:%c,b:%c」,a,b);

getchar 與scanf 的理解

1.getchar 是將輸入的字元都存到緩衝區中,直到輸入回車 將回車也存到緩衝區中 才讀取緩衝區中的字元,而且若輸入了多個字元到緩衝區中,後面的字元不用按回車便會依次讀取到後序的getchar 中。2.scanf 的程式片段如下 char a,b,c,d scanf c a scanf c b s...

scanf 與getchar 區別的總結

第一 要注意不同的函式是否接受空格符 是否捨棄最後的回車符的問題 讀取字元時 scanf 以space enter tab結束一次輸入,不會捨棄最後的回車符 即回車符會殘留在緩衝區中 getchar 以enter結束輸入,也不會捨棄最後的回車符 讀取字串時 scanf 以space enter ta...

關於學習getchar 和scanf 時問題

一 getchar 函式 getchar 函式的原型為 int getchar void 該函式不帶形參,返回值為int型,成功時,返回值為字元的ascii碼,出錯是為 1.getchar 函式只對字元起作用,在stdio.h中定義,其實是個巨集定義函式,是getc stdin 的巨集定義。如果使用...