c語言什麼時候應該加getchar()吃掉回車

時間 2021-12-19 12:44:04

1樓:匿名使用者

getchar()只能接你輸入的一個字元,而不是字串。getchar()也不是亂用的,一般情況就用在輸入字元的的情況下。至於你後面說的每當有輸入語句時都去加一個getchar()是沒有必要的。

如果你想用getchar()去接住上次輸入的回車符以便給下面的運算帶來準確性的話,就是在輸入整型或者浮點型之後再加一個getchar(),至於要不要在每一行都加就要看什麼情況了。我可以給你舉兩個個簡單的例子#include"stdio.h"main()可以tc執行下。

這個程式就是每句後加了getchar()的,是用來你在執行的時候接住你輸入的回車的(因為回車也是字元)。再來看一個例子不是每句都需要getchar()的#include"stdio.h"main() /*用來退出程式這個是計算器的程式,這裡只用了一個getchar接回車(就是你所說的吃掉回車)。

再來看一個不需要getchar接回車的程式#include"stdio.h"main()這個程式就是列印出你輸入的字元,不需要用getchar來接回車,因為getchar只接一個字元,當你輸入一個字母再回車時,getchar只接第一個字母,預設回車符跳出輸入介面。以上程式在turboc中執行。

希望你能通過三個例子明白什麼時候用getchar,什麼時候不需要。

2樓:匿名使用者

在需要連續輸入的情況下,也就是你剛輸入完一個字串,後面還需要輸入另一個,需要加一個getchar(),用它來抵消那個回車鍵,要不第二個字串會有問題。

3樓:匿名使用者

getchar有一個int型的返回值,當程式呼叫getchar時,程式就等著使用者按鍵,使用者輸入的字元被存放在鍵盤緩衝區中,直到使用者按回車為止(回車字元也放在緩衝區中)。

當使用者鍵入回車之後,getchar才開始從stdio流中每次讀入一個字元。getchar函式的返回值是使用者輸入的字元的ascii碼,如出錯返回-1,且將使用者輸入的字元回顯到螢幕。

如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取。也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵。

簡單來說:在需要連續輸入回車的情況下,剛輸入完一個字串,後面還需要輸入另一個,需要加一個getchar(),用它來抵消那回車鍵,要不第二個字串會有問題。

c語言中什麼時候需要getchar()吸收緩衝字元

4樓:千鋒教育

是這樣的 ,當用scanf()輸入到程式中是 你最後所按的回車也會被傳入緩衝區 ,如果不抵消掉將會影響你後面的輸入

什麼時候用到getchar()吸收回車符

5樓:兔子和小強

不要用getchar()接收回車符,

輸入前用

fflush(stdin)

來清空緩衝區

6樓:匿名使用者

是的,碰到無效字元即結束

c語言中用getchar()接收回車

7樓:匿名使用者

cchartemp=getchar();主要是接受scanf("%c",&ccharput);這裡按的回車,執行程式時,你輸入a,然後回車,實際上緩衝區接受的是兩個字元,第一個是'a'第二個是『\n',scanf("%c",&ccharput);只把a從緩衝區中取走,但是'\n'還在緩衝區。如果沒有getchar這個語句,那麼下面的語句scanf("%c",&ccharput);就會直接讀取緩衝區中的'\n『而不會等到你再去輸入字元。而getchar是取走緩衝區中一個字元,把回車給取走,緩衝區空了,你才能再次輸入

8樓:匿名使用者

如果沒有這句cchartemp=getchar();

那麼回車符會被printf("the second string is:");

scanf("%c",&ccharput);接收了

9樓:匿名使用者

就像上面的仁兄說的,

這裡的getchar()其實只是為了清除鍵盤緩衝區中的回車符用的。它的目的是防止下一次執行scanf時,將鍵盤緩衝區內的回車當作本次使用者輸入資料給錯誤地讀入。

把他刪掉,那麼第二次scanf接收到的字元就是回車了,比如:你第一次輸入的是a然後回車。那麼緩衝區裡就會有a和回車兩個字元,第一次取走了a,那麼回車不取走清除的話,第二次scanf就會直接誤讀到回車。

c語言什麼時候用int什麼時候用float還有

九燁節香梅 float就是 浮點型數,就是說的實數,帶小數的,所謂浮點,在計算機中就是小數點位置可以變動的數,就比如20.0可以變成2.00 10。c語言裡面的那些 d,f等等都是一個代換符,用以指代某個要輸出的數的型別,d就是整數,f就是浮點數。開始的時候看起來頭疼,久了就明白了,其實就是一個代號...

c語言創立時間,C語言最早建立在什麼時候?

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一...

c語言中math h什麼時候要用到

四舍 入 如果程式要解決數學問題,比如說求平方pow x,2 或者求平方根sqrt x 或者求絕對值fabs x 求絕對值函式 fabs三角函式 指數函式等數學函式。這一類的函式在math.h中有宣告,便可直接呼叫,所以要用到。 風雷九州 用到下面的函式的時候就需要包含了。數學函式庫,一些數學計算的...