Scanf рассматривает нажатие клавиши enter как дополнительный символ, который не равен 'y' - C (СИ)
Формулировка задачи:
Вот маленькая, но настойчивая программка, которая не успокаивается, пока не скажите "да" (y):
Вопрос состоит в том, что строчка Enter answer выводится дважды. Я так понимаю, это связано с тем, что scanf рассматривает нажатие клавиши enter как дополнительный символ, который не равен 'y'. Но как сделать правильно? (Если использовать потоковый ввод, с cin и cout, такой проблемы не возникает.)
#include <stdio.h> int main() { char ans; do { printf("Enter answer: \n"); scanf("%c", &ans); } while (ans != 'y'); return 0; }
Решение задачи: «Scanf рассматривает нажатие клавиши enter как дополнительный символ, который не равен 'y'»
textual
Листинг программы
scanf("%c",&ans)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д