如何在C ++中初始化和cout数组

时间:2014-08-15 19:59:11

标签: c++ arrays

我对正在加载的数组有问题,我稍后会在代码中进行操作。 该数组初始化为:

int array[51][2]={{1,2},{7,4},/* ... */ }

这些点暗示了其他49个缺失的元组。 后来,当我只想使用cout我使用的数组时:

for(int k=0;k<nProducts;k++){
    for(int t=1;t<=T;t++){
        cout << array[k][t];
    }
    cout << endl;
}

不幸的是,这根本不起作用。 Visual Studio很高兴地编译程序,但是当我运行它时(ConsoleApplication)它会在此时崩溃。当我评论出&#34; cout-part&#34;它工作正常。但我怀疑数组是否应该用于代码的其余部分。

你能以某种方式帮助我吗?我在任何文献中都找不到我的错误,这似乎完全和我一样。

2 个答案:

答案 0 :(得分:6)

改变这个:

for(int t=1;t<=T;t++)

对此:

for(int t=0;t<T;t++)

C / C ++ / Java /等中的索引。介于0和N-1之间。

答案 1 :(得分:0)

您正在访问超出范围的索引 - 该数组是从0索引的,因此最后一个有效索引是N-1。当您尝试访问索引N处的元素时,会得到IndexOutOfRangeException,这会导致程序终止。