關於%d%*c 與getchar()喫掉換行符問題

爲什麼要喫到換行符,因爲在scanf使用%c輸入時,會將換行符輸入
**類似
2
string1
string2
這樣的輸入格式

scanf(“%d”, &n)的話,還會有一個\n殘留在標準輸入中
這樣的話第一個getline什麼也讀不到
**
常見的有2中方法

方法1:%d%*c作用時讀取輸入流中數字後的一個字符,並丟棄,使得後面的輸入函數不能讀到那個字符
方法2:getchar()可以用來吸收空格
你只需要去掉第一個換行符就好了,後面的會被getline自動丟棄

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