Я хочу передать две матрицы в качестве аргумента. Эти матрицы имеют различный размер и я не понимаю, как я должен делать эту работу:Пропустить матрицу как аргумент
#include <stdio.h>
#include <stdlib.h>
void f(int m[3][], int n);
int main()
{
int A[3][3]={{1,2,3},{4,5, 6},{7,8,9}};
int B[3][2]={{1,2},{3, 4}, {5, 6}};
f(A, 3);
f(B, 2);
return 0;
}
void f(int m[3][], int n)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<n;j++)
printf("%5d", m[i][j]);
}
return;
}
Как я могу это сделать?
Что не работает? Вы получаете ошибку времени компиляции? –
Вы используете [C89] (http://en.wikipedia.org/wiki/C89_ (C_version) # C89), [C99] (http://en.wikipedia.org/wiki/C99) или какой-то компилятор специфический диалект C? Существуют различия в способах передачи матричных аргументов в функции, в зависимости от того, на какой языковой версии ваш компилятор настроен на прием. –
@HunterMcMillen yes main.c | 5 | ошибка: тип массива имеет незавершенный тип элемента /main.c|12|error: тип формального параметра 1 не завершен – Nick