我正试图制作一个tictactoe游戏,但是当我尝试打印用作字段的2d数组时,第一行看起来不错,但是第二和第三行出了问题。
该如何解决?这是输出的代码:
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} };
答案 0 :(得分:1)
问题在于a
是char
的数组,但是您将其强制转换为int
中的ausgabe
的数组。因此,当您为数组(b[i][k]
编制索引时,您正在访问尚未初始化的内存,从而给您那些奇怪的字符。