C语言 如何使错位的 2D 阵列在打印出来时不显示任何内容?



我正在开发一个井字游戏,并为网格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!
}
}

相关内容

  • 没有找到相关文章

最新更新