数组运行时错误

时间:2011-10-08 21:13:44

标签: c++

我无法理解为什么会出现运行时错误:

  

正在使用变量ia而不进行初始化。

但是,据我所知,我已初步化了它。

#include <iostream>
using namespace std;

int main()
{
    //array dimensions
    const int row_size = 2;
    const int col_size = 4;

    //array definition
    int ia[row_size][col_size] = {{0, 1, 2, 3},{5, 6, 7, 8}};

    cout << ia[2][4];

    system("PAUSE");
    return 0;
}

4 个答案:

答案 0 :(得分:5)

C ++数组索引从零开始。因此,要访问第二行的第四列,您需要访问ia[1][3]

答案 1 :(得分:1)

ia[2][4]

不存在。

ia[0..1][0...3]
然而,

都存在。

尝试:

cout << ia[1][3];

C ++中的数组以索引0开头。 1实际上是2 nd 元素。所以:

int a[2] = {42, 50};

std::cout << a[0] << a[1];   // prints 4250
std::cout << a[2];           // a[2] doesn't exist!

答案 2 :(得分:0)

数组索引从0开始,因此ia[2][4]将超出范围。应该是ia[1][3]

答案 3 :(得分:0)

数组是从0开始的,即数组a中的第一个元素是a[0]。所以4个元素数组中的最后一个元素是a[3]。在你的情况下,ia[1][3]会给你我所相信的追求元素。