我正在尝试从array [i] []中获取值,其中i是我需要的值,并希望将其存储在将用于不同事物的变量中。我不确定如何做到这一点。
这就是我现在所拥有的,但我一直收到错误error: expected expression before ‘]’ token
int choice, startRow, startCol, peekCount=5, hagMoveCount=0;
char direction, hagDirection;
char maze[ROWS][COLS];
char hiddenMaze[ROWS][COLS];
startRow=maze[ROWS][];
startCol=maze[][COLS];
与此同时,我正试图获得列位置
答案 0 :(得分:0)
2D arrays不太像那样工作。您应该阅读有关如何使用它们的信息。
您不能将某些内容分配给2D数组的整行或整列。 你必须创建自己的函数来处理这类事情:
void setRow(char maze[ROWS][COLS], int ROWS, int COLS, int targetRow, char value)
{
int i;
for(i=0; i< COLS; i++)
{
maze[targetRow][i] = value;
}
}
与此同时,我正试图获得列位置
WUT?
答案 1 :(得分:0)
除非您在第二组括号中或两个括号中定义值,否则编译器不知道如何计算数组。 myArray[8][]
是不允许的,但myArray[][8]
是(我刚才测试过)。编译器出现像myArray[][8]
这样的问题的原因是,它不知道你是在尝试制作1乘8,2乘4,4乘2还是8乘1阵列。您还需要在每个数组元素中放置值,否则它们默认为零。这可以通过一个或两个for
循环轻松完成。