c语言——什么时候使用getchar()读取换行符
生活随笔
收集整理的這篇文章主要介紹了
c语言——什么时候使用getchar()读取换行符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
做題的時候有時會用到getchar()接收換行符,然而讓人困惑的是一般使用scanf("%s", str)這樣的形式讀取字符串的時候似乎并沒有考慮這個問題。網上通常會給你講大道理緩沖區啥的,然后聽懂后自己得不得的出結論全看天賦(攤手),所以在這里直接下結論了:
1.一個scanf后的確有回車在緩沖區里,但是scanf("%s", str)這樣的不會把之前留下的換行符讀取掉(就是無視了)。這就是平時用%s解決“一個數字,后面跟N個字符串”這樣的輸入沒有問題的原因。
2.相對的,如果用%c,那就要考慮接收換行符的事情了,在這里插入圖片描述
例如這樣的話,在緩沖區的空格就會被讀取,所以兩個scanf中間需要getchar()。(再次吐槽某些實驗,貼出代碼一長串還要自己先找關鍵代碼段)
3.gets()也是會讀取之前留下來的換行符的,所以也需要一個getchar()。類似實驗可以參照2的截圖,設置斷點或者用printf查看輸出結果都行。
總結
以上是生活随笔為你收集整理的c语言——什么时候使用getchar()读取换行符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀达摩使用技巧介绍
- 下一篇: leetcode-349-两个数组的交集