那是因爲在我們做了第一次輸入時,並按下回車,使程序繼續執行。而那個回車也隨之進入了流當中。而遇到第二個scanf()時,scanf()把回車當作是第二次輸入的字符而接收。因此程序也就忽略了輸入而繼續執行了。這個回車就是在做輸入時產生的垃圾字符了。
解決1: 在輸入後
scanf("%[^\n]");//刪除回車和之前的輸入
scanf("%*c");//刪除‘\n’
那是因爲在我們做了第一次輸入時,並按下回車,使程序繼續執行。而那個回車也隨之進入了流當中。而遇到第二個scanf()時,scanf()把回車當作是第二次輸入的字符而接收。因此程序也就忽略了輸入而繼續執行了。這個回車就是在做輸入時產生的垃圾字符了。
解決1: 在輸入後
scanf("%[^\n]");//刪除回車和之前的輸入
scanf("%*c");//刪除‘\n’