这是我的代码,它不起作用。当我像下面的grid[r][c]那样传递char数组时,它会生成这些错误。
[Error] use of parameter 'r' outside function body
[Error] use of parameter 'c' outside function body当我像下面的grid[][c]那样传递char数组时,它会生成这些错误。
[Error] use of parameter 'c' outside function body当我像下面的grid[][]那样传递char数组时,它会生成这些错误。
[Error] declaration of 'grid' as multidimensional array must have bounds for all dimensions except the first 当我像这样传递这样的grid[1][2]时,它运行得非常好,也就是只传递一个整数。
我被困在这里,我不知道该怎么办?
如何解决这个问题??帮帮我!
提前谢谢!
void dfs(int r, int c, int pacman_r, int pacman_c, int food_r, int food_c, char grid[r][c]) {
//logic here
}
int main(void) {
int r, c;
int pacman_r, pacman_c;
int food_r, food_c;
scanf( "%d %d", &pacman_r, &pacman_c);
scanf( "%d %d", &food_r, &food_c);
scanf( "%d %d", &r, &c);
char grid[r][c];
for( int i=0; i<r; i++) {
scanf("%s[^\\n]%*c", grid[i]);
}
dfs( r, c, pacman_r, pacman_c, food_r, food_c, grid);
return 0;
}发布于 2014-10-21 21:22:29
您应该将参数作为char*传递,然后将其用作指向数组的扁平实例的指针。
void fn(char* grid, int c){
printf("%c", (grid+n*c)[m]);
}这会印上“格瑞顿”
https://stackoverflow.com/questions/26496238
复制相似问题