2017-05-22 20 views
0
void imprimirTablero(char *tablero[7][7], int *posicionX, int *posicionY) 
{ 
    int i, j; 
    tablero[posicionX][posicionY] = 'R'; 
    for(i = 0; i < LEN(tablero); i++) 
    { 
     for(j = 0; j < LEN(tablero[0]); j++) 
     { 
      printf(tablero[i][j]); 
     } 
    } 
} 

这种方法改变位X,位置▲炭和打印字符的新矩阵....请别人帮我“数组下标是不是一个整数”在C程序

回答

1

您使用的是指向整数作为数组索引posicionXposicionY。您需要取消引用这些指针:

tablero[*posicionX][*posicionY] = 'R'; 
+1

或者更可能的,改变他们为int的不是int指针 无效imprimirTablero(字符* tablero [7] [7],诠释posicionX, int posicionY) –

+0

L. Scott Johnson给出了一个很好的建议:如果没有必要改变'posicionX'和'posicionY',它们必须作为简单的int值(按值) – VolAnd

+0

正确。你的建议很好,而且正确。没有指针就没有“需要”去做。但更可能的是,核心错误首先是使用指针,而不仅仅是忘记对它们进行解引用。 –

1

你传递指针,而不是字符,并且两个指针的二维数组整数,而不是整数。我想你想:

void imprimirTablero(char tablero[7][7], int posicionX, int posicionY) 

判断由

tablero[posicionX][posicionY] = 'R'; 
相关问题