我有一个基于用户输入打印2D数组的功能。
void inputSequence (char boardgame2 [26][26], int size) {
bool finished = false;
char color, row, col;
printf("\nEnter board configuration:\n");
while (!finished)
{
scanf(" %c%c%c", &color, &row, &col);
if (color == '!' && row == '!' && col == '!')
finished = true;
}
printf(" ");
for (int col = 0; col < size; col++)
printf("%c", 'a'+col);
for (int row = 0; row < size; row++)
{
printf("\n%c", 'a'+row);
printf(" ");
for (int colU = 0; colU < size; colU++)
{
boardgame2 [row][colU]= 'U';
boardgame2 [size/2][size/2]= 'W';
boardgame2 [size/2-1][size/2-1]= 'W';
boardgame2 [size/2-1][size/2] = 'B';
boardgame2 [size/2][size/2-1] = 'B';
boardgame2 [0][0] = color;
printf("%c", boardgame2[row][colU]);
}
}
}
唯一的问题是声明boardgame2 [0][0] = color
打印出我输入的最后一件事,这是!但我希望它是用户输入的东西。 !!!一旦完成配置电路板,应由用户键入。
通过键入3个字母(例如Bab)进行电路板配置。其中第一个字母代表要更改的字母, - 行标签和b - 列标签。
因此,如果用户键入:
Bab
!!!
配置将打印出来!在(a,b)位置而不是B.如何解决这个问题?