2D阵列打印出符号

时间:2019-03-03 01:22:52

标签: c arrays

我正试图制作一个tictactoe游戏,但是当我尝试打印用作字段的2d数组时,第一行看起来不错,但是第二和第三行出了问题。

The output

该如何解决?这是输出的代码:

    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 :(得分:1)

问题在于achar的数组,但是您将其强制转换为int中的ausgabe的数组。因此,当您为数组(b[i][k]编制索引时,您正在访问尚未初始化的内存,从而给您那些奇怪的字符。