@Froman

Как вызывать функцию?

Задача простая: найти среднее арифметическое двух чисел (оба положительные и целые):
int middle (int a,int b); // объявление функции
int main(void) // тело функции
{
  int a,b,z;
  scanf("%d %d",&a,&b);
  middle(); // вызов функции
  printf("%d\n", z);
return 0;  
}
int middle (int a,int b) // определение функции
{
    int z=(a+b)/2;
    printf("%d",z);
}

Ошибка, как я понимаю, популярная: "too few arguments to function middle". Однако, как мне казалось, достаточно просто написать имя функции (middle) с пустыми скобками (ну, с учётом того, что внизу я её определил, всё расписал) и она уже начнёт работать в теле (по крайней мере, мне так показывали на некоторых примерах). Видимо, я неправильно понял алгоритм. Как тогда правильно надо вызвать функцию?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Ну вы же в объявлении функции расписали, что она ожидает два аргумента и должна возвращать некоторое число)
1. Передайте ей a и b
2. Уберите printf из тела функции
3. Добавьте return z

PS: среднее - это не middle(середина), а average
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы