Предложенный результат - это печать тех же значений, которые мы вводим, но результат равен нулю после первой строки.Передача массива функции изменяет свои значения?
#include<stdio.h>
void display(int *q, int);
int main() {
int i,j,n;
int d[50][50];
printf("Input the order\t");
scanf("%d", &n);
for (i=0;i<=(n-1);i++) {
for (j=0;j<=(n-1);j++) {
scanf("%d", &d[i][j]);
}
}
display (d, n);
}
void display (int *q, int r) {
int i,j;
for (i=0;i<r;i++) {
for (j=0;j<r;j++) {
printf("%d\t", *(q + i*r + j));
}
printf("\n");
}
}
Компилятор не знает размеров 'd' после того, как вы передадите его' display'. – goodvibration
Найдите, как передать многомерный массив функции в C. См., Например, [этот пост] (http://stackoverflow.com/q/16943909/478288). – chrisaycock