Я немного запутался в использовании указателей.
Я хочу передать массив указателю, а затем получить результат функции из указателя.Функция просто возвращает минимум массива.
int *minimum(int (*A)[5]){
int min = 0;
int A_result[1];
for (int i = 0; i < 5; i++) {
if ((*A)[i]< (*A)[min])
min = i;
}
A_result[0] = (*A)[min];
return A_result; //line 39
}
int main(void) {
int A[5] = {5, 7, 3, 6, 4};
int (*array_ptr)[5] = minimum(&A); //line 45
printf("%d ", *array_ptr);
return EXIT_SUCCESS;
}
сейчас я получаю следующие ошибки:
строка 45: формат "% d" ожидает аргумент типа 'int', ноаргумент 2 имеет тип 'int *' [-Wformat =]
инициализация из несовместимого типа указателя [-Wincompatible-pointer-types]
строка 39: функция возвращает адрес локальной переменной [-Wreturn-local-адр]