2017-05-22 35 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'; 
相關問題