頭文件略int main(){int n;cin>>n;for(string s;n--&&getline(cin,s);){……}……}會把n讀入進for(初以為因為是getline不是cin),但是后來又遇到cin也是同樣的錯誤。如問題所問。
1 回答

慕勒3428872
TA貢獻1848條經(jīng)驗 獲得超6個贊
getchar的作用是到輸入緩沖區(qū)讀數(shù)據(jù),只讀一個字節(jié)
而你如果加上
char c;
c=getchar();//測試中只要少了這段就不必要再加1個getchar()停留
cout<<c<<endl;
在你輸入這個char c時 是不是要輸入一個字符,然后回車,這個字符被c=getchar獲取到了,并賦值給c
但是還有一個回車存在了輸入buffer里面
所以在下面你要停住的時候,第一個getchar就獲取到了這個回車 無法達到停住的效果
停留窗口,getchar是個不錯的方法,保險起見,可以先清空輸入buffer
或者用getch函數(shù)
如果是windows可以用system("pause") 這個方法很流行
添加回答
舉報
0/150
提交
取消