c語言中兩個scanf爲什麼會出毛病?

那是因爲在我們做了第一次輸入時,並按下回車,使程序繼續執行。而那個回車也隨之進入了流當中。而遇到第二個scanf()時,scanf()把回車當作是第二次輸入的字符而接收。因此程序也就忽略了輸入而繼續執行了。這個回車就是在做輸入時產生的垃圾字符了。


解決1:  在輸入後   
scanf("%[^\n]");//刪除回車和之前的輸入
scanf("%*c");//刪除‘\n’


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章