我不知道为什么,但如果循环超过 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;
}
附言抱歉我的语法错误。
答案 0 :(得分:1)
C++ 的声明
int name[N]
仅在 N 为常数时有效。对于动态大小的数组(在您的情况下是动态的,因为数组大小来自用户输入),您可以使用:
std::vector<int>
int *name = new int[a]
第一个是列表,而不是数组。所以你需要 .push_back 元素才能被访问。
第二个是数组,和普通数组一样访问。 要小心,因为您需要在不再需要内存时释放它,请在程序结束时为您完成的每个 delete [] name;
调用 new type[size]
。 >