嗨,我对编程非常陌生,我开始弄乱二维数组。我收到此运行时错误“运行时检查失败#2-变量'pair'周围的堆栈已损坏。”。如果有人可以帮助我,那将非常感谢。

#include<stdio.h>
#include<iostream>

int main(void)
{
int pair[2][2];
pair[0][0] = 1;
pair[0][1] = 1;
pair[0][2] = 1;
pair[1][0] = 0;
pair[1][1] = 0;
pair[1][2] = 0;
pair[2][0] = 0;
pair[2][1] = 0;
pair[2][2] = 0;

if((pair[0][0] == 1 && pair[0][1] == 1 && pair[0][2] == 1) || (pair[0][0] == 2 && pair[0][1] == 2 && pair[0][2] == 2))

{
    printf("Match!\n");
    system("PAUSE");
}
else
{
    if((pair[1][0] == 1 && pair[1][1] == 1 && pair[1][2] == 1) || (pair[1][0] == 2 && pair[1][1] == 2 && pair[1][2] == 2))
    {
        printf("Match!\n");
        system("PAUSE");
    }

    else
    {
        if((pair[2][0] == 1 && pair[2][1] == 1 && pair[2][2] == 1) || (pair[2][0] == 2 && pair[2][1] == 2 && pair[2][2] == 2))
        {
            printf("Match!\n");
            system("PAUSE");
        }
        else
        {
            printf("Nope!\n");
            system("PAUSE");
        }
    }
}

}
`

最佳答案

您的数组只有2 x 2。

int pair[2][2]

因此,唯一的合法索引是[0]和[1]。你要:
int pair[3][3]

这将允许[0] [1]和[2]

关于c++ - c++ “Run-Time Check Failure #2 - Stack around the variable '对已损坏。”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22097048/

10-12 12:19