我的程序没有错误就停止了,我做错了什么?

时间:2021-06-12 18:13:26

标签: c++ input

我不知道为什么,但如果循环超过 1 次,我的代码就会在 cin 行的第二个 for 循环处停止。

你能帮我吗? 这是我的代码:

#include <iostream>//Julianne
using namespace std;
    
int main(){
    int a;
    
    cin >>  a;
    int bezorgen[a];
    
    int afhalen[a];
    
    for (int i = 0; i < a; i++){
        cin >> bezorgen[i];
    }
    
    for (int j = 0; j < a; j++){   
        cin >> afhalen[j];    
    }        
    
    return 0;
}

附言抱歉我的语法错误。

1 个答案:

答案 0 :(得分:1)

C++ 的声明 int name[N] 仅在 N 为常数时有效。对于动态大小的数组(在您的情况下是动态的,因为数组大小来自用户输入),您可以使用:

  1. C++ std::vector<int>
  2. int *name = new int[a]

第一个是列表,而不是数组。所以你需要 .push_back 元素才能被访问。

第二个是数组,和普通数组一样访问。 要小心,因为您需要在不再需要内存时释放它,请在程序结束时为您完成的每个 delete [] name; 调用 new type[size]。 >

相关问题