所以,我决定做一个小的ASCII艺术游戏,然而,当我宣布这个板时,我得到的错误是"数组类型有不完整的元素类型".有关如何解决此问题的任何想法?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int height = 10;
int width = 12;
char board[][] = {{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'}};
void printBoard(void) {
int i, j;
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
printf("%c", board[i][j]);
}
}
}
int main(void) {
printBoard();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
只有最外层的尺寸可以不指定.
将数组定义更改为:
char board[][12] = { ...};
Run Code Online (Sandbox Code Playgroud)
如果您使用3D数组,则同样适用:
char board3D[][12][12] = { ...}; // OK
char board3D[][][12] = { ...}; // Not OK
char board3D[][][] = { ...}; // Not OK
Run Code Online (Sandbox Code Playgroud)