連續輸入兩個vector對象時,應在兩次輸入之間插入cin.clear)語句以對輸入緩沖區進行清空
例如下面程序:
#include<iostream> #include<vector> using namespace std; int main(){ vector<int> ivec1,ivec2; int n; while(cin>>n) ivec1.push_back(n); cin.clear(); //關鍵語句 int m; while(cin>>m) ivec2.push_back(m); bool flag=false; for(vector<int>::iterator iter1=ivec1.begin(),iter2=ivec2.begin(); iter1!=ivec1.end()&&iter2!=ivec2.end();++iter1,++iter2){ if(*iter1!=*iter2){ flag=true; break; } } if(flag) cout<<"no"<<endl; else cout<<"yes"<<endl; return 0; }
本文出自 “菜鳥的進階之路” 博客,請務必保留此出處http://beyond316.blog.51cto.com/7367775/1272485