我制作了一个涉及多维数组(它打印一个多维字符数组)的 C 程序来复习一下,但我遇到了一个错误。
我对该程序的预期输出是:
.
.
.
A
.
.
.
.
.
但是我得到的输出是:
.
.
A //Not meant to be 'A' but rather a '.'
A
.
.
.
.
.
我想知道如何在位置 [0][2] 中获得额外的“A”,以及如何解决此问题。
这是我的代码:
#include <stdio.h>
void initArray(char shape[][2]);
main()
{
char shape[2][2];
int i, j;
initArray(shape);
shape[1][0] = 'A';
printf("%c\n%c\n%c\n", shape[0][0], shape[0][1], shape[0][2]);
printf("%c\n%c\n%c\n", shape[1][0], shape[1][1], shape[1][2]);
printf("%c\n%c\n%c\n", shape[2][0], shape[2][1], shape[2][2]);
getchar();
}
void initArray(char shape[][2])
{
int i, j;
for(i = 0; i < 3; i ++)
{
for(j = 0; j < 3; j++)
{
shape[i][j] = '.';
}
}
}
非常感谢=D