Могу ли я знать, где я не прав? Мне нужно передать матрицу в функцию для ее печати, но когда я компилирую ее, я получаю некоторые ошибки .. Поскольку я передаю матрицу, я использовал ** p, но я не знаю, почему я получаю ошибку компиляции.
Это ошибка компиляции:
ricorsione_TdE_19_02_2018.c: In function ‘main’:
ricorsione_TdE_19_02_2018.c:26:9: warning: passing argument 1 of ‘stampa’ from incompatible pointer type [-Wincompatible-pointer-types]
26 | stampa(M,i,j);
| ^
| |
| int (*)[2]
ricorsione_TdE_19_02_2018.c:4:19: note: expected ‘int **’ but argument is of type ‘int (*)[2]’
4 | void stampa(int **p, int i, int j);
#include <stdio.h>
#define MAX 2
void stampa(int **p, int i, int j);
int m=0,n=0;
int main(){
int i,j,M[MAX][MAX];
for (i=0; i < MAX; i++){
for (j=0; j < MAX; j++){
printf ("Inserisci il valore della cella M[%d][%d]: ", i, j);
scanf("%d", &M[i][j]);
}
}
for (i=0; i < MAX; i++){
for (j=0; j < MAX; j++){
printf("%d", M[i][j]);
}
printf("\n");
}
stampa(M,i,j);
return 0;
}
void stampa(int **p, int i, int j) {
for (i=0; i < MAX; i++){
for (j=0; j < MAX; j++){
printf("%d", p[i][j]);
}
printf("\n");
}
return;
}