Разрешить 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;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлена переменная типа char buf[1024] для хранения вводимых пользователем данных.
  2. Затем используется цикл while, который будет выполняться до тех пор, пока scanf не вернет 1.
  3. В условии цикла используется спецификатор формата %[1,0], который позволяет scanf считывать любые символы, кроме символа новой строки (\n).
  4. Функция fflush(stdin) используется для очистки буфера ввода, что позволяет предыдущему символу новой строки, если он был считан не полностью, быть удаленным.
  5. После окончания цикла, содержимое переменной buf выводится на экран с помощью функции puts.
  6. В конце программы возвращается 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы