程序忽略第二个循环

cin*_*ter 0 c++

我的程序忽略了第二个循环,我无法填充向量v2

            vector<int> v1;
    vector<int> v2;
    int elem1,elem2;

    cout<<"Insert v1: ";
    while(cin>>elem1){
        v1.push_back(elem1);
    }

    cout<<"Insert v2: ";
    while(cin>>elem2){
        v2.push_back(elem2);
    } 
Run Code Online (Sandbox Code Playgroud)

Jes*_*mos 5

cin继续前进直到所有输出完成,你的第二个循环永远不会被击中,除非你以某种方式从第一个循环中断.我建议你在第一个循环中有某种退出条件(例如某些输入标记,如'DONE'或其他东西,一旦你读到你应该破坏).