Разрешить scanf вводить определенные символы - C (СИ)
Формулировка задачи:
Помогите пожалуйста... не знаю как сделать что бы разрешить scanf вводить определенные символы
Например только - 1 и 0
Решение задачи: «Разрешить scanf вводить определенные символы»
textual
Листинг программы
int main(void) { char buf[1024]; while(scanf("%[1,0]",buf) != 1) fflush(stdin); puts(buf); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная типа char buf[1024] для хранения вводимых пользователем данных.
- Затем используется цикл while, который будет выполняться до тех пор, пока scanf не вернет 1.
- В условии цикла используется спецификатор формата
%[1,0]
, который позволяет scanf считывать любые символы, кроме символа новой строки (\n). - Функция fflush(stdin) используется для очистки буфера ввода, что позволяет предыдущему символу новой строки, если он был считан не полностью, быть удаленным.
- После окончания цикла, содержимое переменной buf выводится на экран с помощью функции puts.
- В конце программы возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д