【发布时间】:2019-10-02 08:08:52
【问题描述】:
我正在开发一款井字游戏,并且有一个用于网格 3x3 的 malloced 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
【问题讨论】:
-
当您说您希望输出为“无”时,您的实际意思是什么?你想要一个空白(空格)字符输出吗?
-
是的,它可以是空的,空格。就在打印出来时,它必须不显示在屏幕上。但是,如果我将说 X 或 O 的字符放入数组中,我希望该字符显示出来。
-
malloc 由于某种原因默认为 '0'。我可以将一个空字符串“”作为每个数组元素,还是有比硬编码更好的方法?
-
完全正确 - 查看答案!