1.getchar()是將輸入的字元都存到緩衝區中,直到輸入回車(將回車也存到緩衝區中)才讀取緩衝區中的字元,而且若輸入了多個字元到緩衝區中,後面的字元不用按回車便會依次讀取到後序的getchar()中。
2.scanf()的程式片段如下:char a, b, c, d;
scanf("%c", &a);
scanf("%c", &b);
scanf("%c", &c);
scanf("%c", &d);
printf("%c %c %c %c", a, b, c, d);
輸出如下:
可以看到,scanf("%c", &a);只接受乙個字元,a後面的空格被b接收了,所以類似上述輸入字元的程式片段要注意,不需要在中間輸入其他的空白字元(回車和空格)來間隔他們。而輸入int時,要輸入空白字元來間隔。
3.在scanf("%c", &a)這樣的語句前後,如果要輸入空白字元,則一定要在後面加上getchar()來吃掉空白字元
scanf 與getchar 區別的總結
第一 要注意不同的函式是否接受空格符 是否捨棄最後的回車符的問題 讀取字元時 scanf 以space enter tab結束一次輸入,不會捨棄最後的回車符 即回車符會殘留在緩衝區中 getchar 以enter結束輸入,也不會捨棄最後的回車符 讀取字串時 scanf 以space enter ta...
關於getchar 與scanf 的用法總結
首先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的值為空,那是因為s...
getchar()和scanf()的區別
大多數人只看getchar 名字,以為其返回值是char 型別。但是getchar 的確不是char 型別,而是int 型別,其原型如下 int getchar void getchar有乙個int型的返回值.當程式呼叫getchar時.程式就等著使用者按鍵.使用者輸入的字元被存放在鍵盤緩衝區中.直...