2D Array распечатывает символы - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь сделать тиктактое игру, но когда я пытаюсь напечатать 2d массив, который я использовал в качестве поля, первая строка выглядит нормально, но у 2-й и 3-й возникают проблемы.

Вывод

Как это исправить?Вот код для вывода:

    void ausgabe(int b[][3]) // Output
{
    int i, k;
    for (i = 0; i < 3; i++)
    {
        for (k = 0; k < 3; k++)
            printf("%2c |", b[i][k]);
        printf("\n------------\n");
    }

}

и вот для 2d массива:

char a[3][3] = { {0,0,0}, {0,0,0}, {0,0,0} };

1 Ответ

0 голосов
/ 03 марта 2019

Проблема в том, что a - это массив char, но вы преобразуете его в массив int в ausgabe.Таким образом, когда вы индексируете массив (b[i][k]), вы получаете доступ к памяти, которая не была инициализирована, давая вам эти странные символы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...