#include <iostream>#include <vector>using namespace std;int main() { int num; cin >> num; vector<string> vec; for (int i = 0; i < num; ++i) { string string1; //cin >> string1; getline(cin, string1); vec.push_back(string1); } for (auto item : vec) cout << item << endl; return 0;}1)例如,這段代碼,我沒有#include<string>, 卻能定義string string1,這是為什么?2)為什么輸入的字符串個(gè)數(shù)是num-1,而不是num 問題補(bǔ)充:
經(jīng)測試,是因?yàn)閏in自動忽略回車等不可見字符。那么在輸入字符串時(shí),會把回車符也當(dāng)成字符串存入vec[0],導(dǎo)致可見字符串個(gè)數(shù)少1.而cin.get(),getchar()就能取得這樣的不可見字符,所以在cin >> num;之后加上cin.get()或getchar(),便可獲取緩沖區(qū)的回車鍵?;蛘呃胹canf("%d", &num), scanf也能獲取不可見字符。
- 2 回答
- 0 關(guān)注
- 842 瀏覽
添加回答
舉報(bào)
0/150
提交
取消