嗨,我对编程非常陌生,我开始弄乱二维数组。我收到此运行时错误“运行时检查失败#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/