我试图从数组[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];
同时,我试图得到列的位置
2D数组不完全是这样工作的。你应该好好研究一下如何使用它们。
你不能给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;
}
}
同时,我试图得到列的位置
自慰吗?
编译器不知道如何计算数组,除非你在第二组括号中定义值,或者在两个括号中都定义值。myArray[8][]
是不允许的,但myArray[][8]
是(我刚刚测试了这个)。编译器对myArray[][8]
这样的东西有问题的原因是,它不知道您是在尝试创建1 × 8、2 × 4、4 × 2还是8 × 1数组。您还需要在每个数组元素中添加值,否则它们默认为零。这很容易通过一个或两个for
循环来实现。