gets scanf以及缓冲区域的问题
生活随笔
收集整理的這篇文章主要介紹了
gets scanf以及缓冲区域的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1:scanf
scanf會忽略開頭所有的空格,并以Space Enter Tab 結(jié)束輸入,
不會舍棄最后的回車符(即回車符會殘存在緩沖區(qū)域中)
2:getchar
getchar以Enter結(jié)束,
也不會舍棄最后的換行符
getchar可以讀取scanf之后留在緩沖區(qū)域留下的換行符
也就是說用getchar和scanf讀取數(shù)據(jù)之后緩沖區(qū)域會留下?lián)Q行符,但是用gets讀取之后緩沖區(qū)域不會留下?lián)Q行符
3:gets
讀取以任何字符開頭的字符串,
以換行符結(jié)束,但是最后會舍棄換行符并以'\0'代替
需要特別特別注意的是,如果一行中出現(xiàn)多個數(shù)據(jù),千萬不要用gets,因為gets到這行結(jié)束之后才結(jié)束
轉(zhuǎn)載于:https://www.cnblogs.com/rain-1/p/5021371.html
總結(jié)
以上是生活随笔為你收集整理的gets scanf以及缓冲区域的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Toolbar Padd
- 下一篇: [深入浅出Windows 10]不同平台