Определения вашего массива first
в main
и arrayOfArrays
в printArrayOfArrays
не согласованы: first
- это массив 5 × 5, даже если вы не используете или не инициализируете все элементы;arrayOfArrays
- это массив переменной длины, в вашем примере 2 × 2.
Так что вы должны либо сделать first
массивом переменной длины, тоже:
printf("Enter the number of rows and columns of matrix\n");
scanf("%d%d", &numRows, &numColumns);
int first[numRows][numColumns];
(Убедитесь, чтоВы определяете его только после того, как numRows
и numColumns
имеют значимые значения.)
Или вы можете сделать параметр для функции массивом фиксированного размера 5 × 5:
void printArrayOfArrays(uint8_t numRows, uint8_t numColumns,
int arrayOfArray[5][5]);
(В этом случае вы должны убедиться, что numRows
и numColumns
не превышают 5.)