Я пытаюсь создать функцию для получения пользовательского ввода, который является 'y' или 'n'.
#include <stdio.h>
#include "userinput.h"
bool userinput_get_yes_or_no(char message[]) {
printf("%s [y/n]: \n", message);
char answer;
scanf_s(" %c", &answer, 1);
if (answer == 'y') return true;
if (answer == 'n') return false;
return userinput_get_yes_or_no(message);
}
Это прекрасно работает, когда пользователь вводит только 'y', 'n',Когда вы вводите что-либо еще, но только 1 символ, он повторяет вопрос и печатает сообщение один раз.
НО Когда вы вводите что-либо длиннее 1 символа, сообщение повторяется несколько раз (столько раз, сколько символовВы ввели), прежде чем снова ждать ввода.
Что я делаю не так?