Возвращает максимальное целое число, но получение элемента управления может достигнуть конца ошибки недействительной функции - PullRequest
0 голосов
/ 29 января 2019

В настоящее время я пишу программу, которая возвращает максимальное целое число во входном файле, где каждое целое число читается по одному за раз.Тем не менее, я продолжаю получать контроль может достигнуть конца не пустые функции, и я не знаю почему.(ошибка указана в строке 13)

int display2_int(int max){
  int n = read_int();
  if(n != READ_INT_FAIL){
    if(n > max){
       display2_int(n);
    }else{
      display2_int(max);
    }
  }
  else{
    return max;
  }
}

 int main(void) {
  int first = read_int();
  display2_int(first);
}

1 Ответ

0 голосов
/ 29 января 2019

Если введена ветвь if(n != READ_INT_FAIL) ..., то функция будет рекурсивно вызывать себя, но не будет «возвращать» значение.Вам не хватает return -общений в этой ветке:

Написать

if(n > max){
   return display2_int(n);
}else{
   return display2_int(max);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...