Прежде всего, другие вопросы об использовании sscanf
не дают ответа на мой вопрос, потому что общий ответ - вообще не использовать sscanf
и использовать fgets
или getch
, что в моем случае невозможно.
Проблема в том, что мой профессор Си хочет, чтобы я использовал scanf
в программе. Это требование.
Однако программа также должна обрабатывать весь неправильный ввод.
Программа должна прочитать массив целых чисел. Неважно, в каком формате целые числа для массива поставляются. Чтобы упростить задачу, программа может сначала прочитать размер массива, а затем целые числа в новой строке.
Программа должна обрабатывать такие входные данные (и соответствующим образом сообщать об ошибках):
Может быть больше неправильных случаев , это единственное, о чем я мог думать.
Если введен ошибочный ввод, программа должна попросить пользователя ввести еще раз, пока дается правильный ввод, но предыдущий правильный ввод должен быть сохранен (только неправильный ввод должен быть очищен от входного потока).
Все должно соответствовать стандарту C99.