Caractères dupliqués dans un tableau multidimensionnel
J'ai créé un char
tableau multidimensionnel vide , mais lorsque j'essaie de modifier une valeur spécifique, il se duplique parfois dans un autre espace du tableau.
Exemple:
#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;
}
}
}
Production:
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] =
Le caractère A
ne doit apparaître que dans [2][0]
mais il apparaît également dans [1][2]
. Cela se produit uniquement dans ces espaces:
[1][0], [2][0], [0][2], [2][2]
J'ai pu recréer cela avec un plus grand tableau, mais je ne peux pas dire les valeurs spécifiques.
J'ai essayé de définir à l'intérieur de la main()
fonction mais cela a créé un autre problème, des caractères aléatoires ont commencé à apparaître à des emplacements aléatoires du tableau.
J'ai essayé d'initialiser le tableau avec char arr[2][2] = { 0 }
, mais cela n'a pas aidé.
Lorsque vous déclarez char arr[2][2] = { 0 };
, c'est un tableau 2x2. Ce qui signifie que ses indices vont de 0 à 1. Vous écrivez dans l'index 2, qui est en dehors des limites du tableau.