getchar()函数的一些知识
目前就我學(xué)習(xí)的getchar()知識感覺都是比較零散的,因此在這試圖歸類一下,當(dāng)然肯定有不完善的地方,還望海涵
1.首先,提到getchar()函數(shù)就必須提到緩沖區(qū)的概念,即在黑色的交互界面我們用鍵盤輸入的值,這一部分可以看看c primer plus,里面有關(guān)于緩沖區(qū)的概念;
2.既然我們已經(jīng)有了緩沖區(qū)的概念,那么,getchar()函數(shù)實際上就是讀取了原本儲存在緩沖區(qū)中的我們輸出的字符,并且值得注意的是,無論我們輸入到緩沖區(qū)中的字符究竟有多長,getchar只會讀取其中的一個字節(jié)并將它返回(如果沒有變量去獲取getchar()返回值,將相當(dāng)于刪除了這個字符,具體的應(yīng)用是在后面刪除一些空行符),并且將其從緩沖區(qū)中刪去,具體的驗證方法可以看下面的圖片
3.那么我們既然已經(jīng)知道了getchar()只能返一個值,那么如何用getchar()讀取我們?nèi)康妮敵瞿?這里需要用到我們到while循環(huán)來實現(xiàn)這種操作,下面我以c primer plus中的程序舉例,而這串代碼就可以得到我們所需要的結(jié)果如下,而如果我們想要驗證getchar()在這種情況下究竟是不是單個字符一次存入ch中也是很容易證明的,如下就可以很清晰地得到我們想要驗證的結(jié)論,即getchar()確實單個字符輸入
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的getchar()函数的一些知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: liunx内核中的互斥自旋锁和读写自旋锁
- 下一篇: scanf的一些小细节