我创建了一个空的char多维数组,但是当我尝试更改特定值时,它有时会复制到数组中的另一个空格.
例:
#include <iostream>
using namespace std;
char arr[2][2] = { 0 };
int main ()
{
arr[2][0] = 'A';
for(int i = 0; i < 3; ++i)
{
for(int j = 0; j < 3; ++j)
{
cout << "arr[" << i << "][" << j << "] = " << arr[i][j] << endl;
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
arr[0][0] =
arr[0][1] =
arr[0][2] =
arr[1][0] =
arr[1][1] =
arr[1][2] = A
arr[2][0] = A
arr[2][1] =
arr[2][2] =
Run Code Online (Sandbox Code Playgroud)
角色A应该只出现在,[2][0]但它也出现在[1][2].这只发生在以下空间:
[1][0], [2][0], [0][2], [2][2]
Run Code Online (Sandbox Code Playgroud)
我能够用更大的数组重新创建它,但我不能说具体的值.
我已经尝试在main()函数内部进行定义但是它创建了另一个问题,随机字符开始出现在数组的随机位置.
我尝试初始化数组char arr[2][2] = { 0 },但它没有帮助.