我正在开发一个井字游戏,并为网格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
好的,所以如果你想为任何尚未"使用"的网格位置打印一个"空格"字符(即没有显示任何内容((即其中有O
或X
(,那么你需要在代码中添加/更改两件事。
首先,您需要将数组初始化为空白字符:
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!
}
}