为什么printf语句连续运行中间的scanf没弹出来?
生活随笔
收集整理的這篇文章主要介紹了
为什么printf语句连续运行中间的scanf没弹出来?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
輸入第一個字符并以空格結(jié)束輸入后,該字符與’\n’會一起進入標準流輸入,’\n’便會作為第二個scanf語句的內(nèi)容輸入,從而讓你的程序出現(xiàn)問題。 加空格便會屏蔽空白字符(上次內(nèi)存中的‘\n'和其它轉(zhuǎn)義字符):%c前沒空格,scanf()將讀取標準輸入流中的第一個字符,%c前有空格,scanf()則讀取標準輸入流中第一個非空白字符。
應該是這個scanf讀取了上一個輸入的回車當成輸入字符了。在這個scanf之前加上fflush(stdin),或者將scanf的"%c"改為" %c"(%前加個空格),執(zhí)行就正確了。
應該是這個scanf讀取了上一個輸入的回車當成輸入字符了。在這個scanf之前加上fflush(stdin),或者將scanf的"%c"改為" %c"(%前加個空格),執(zhí)行就正確了。
總結(jié)
以上是生活随笔為你收集整理的为什么printf语句连续运行中间的scanf没弹出来?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dnf战令充钱加多少经验?
- 下一篇: 土豆炒肉片的做法,土豆炒肉片怎么做好吃