gpt4 book ai didi

c - 如何使分配的二维数组在打印时不显示任何内容?

转载 作者:行者123 更新时间:2023-11-30 14:36:13 25 4
gpt4 key购买 nike

我正在开发一款 Tic Tac Toe 游戏,并且有一个为网格 3x3 分配的 2D 角色数组。

我测试打印了数组中的值并得到了0。我计划在数组输出周围创建一个网格,但要使其工作,输出必须为空而不是 0。请帮助我希望输出什么都没有。

/*Malloced Array*/

array = (char**)malloc(sizeof(char) * row);

for(ii = 0; ii < row; ii++)
{
arraySec = (char*)malloc(sizeof(char) * col);
array[ii] = arraySec;
}

/*Test Print*/
for(ii = 0; ii < row; ii++)
{
for(jj = 0; jj < col; jj++)
{
printf("\n%d:%d = %d", ii, jj, array[ii][jj]);
}
}

这是输出:

0:0 = 0

0:1 = 0

0:2 = 0

1:0 = 0

1:1 = 0

1:2 = 0

2:0 = 0

2:1 = 0

2:2 = 0

最佳答案

好的,所以如果您想为任何尚未“使用”的网格位置(即具有 OX ),那么您需要在代码中添加/更改两件事。

首先,您需要将数组初始化为空白字符:

for(ii = 0; ii < row; ii++) {
for(jj = 0; jj < col; jj++) {
array[ii][jj] = ' '; // Set to the blank (space) character
}
}

然后,在“测试打印”中,您需要将字符输出为字符 - 而不是数字(整数):

for(ii = 0; ii < row; ii++) {
for(jj = 0; jj < col; jj++) {
printf("\n%d:%d = %c", ii, jj, array[ii][jj]); // %c will print the character as such, but you won't see it!
}
}

关于c - 如何使分配的二维数组在打印时不显示任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58197575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com