scanf сохроняет в себя лишнее значение "\n" в C
#include <stdio.h>
#include <stdlib.h>
int main() {
char scan;
while (true)
{
printf(">>");
scanf_s("%c", &scan);
if (scan == 'c') {
printf("\nC\n");
}
}
return 0;
}
Во время первой итерации ввожу символ к примеру "c" и жму Enter чтобы завершить ввод
На второй итерации выполняет printf(">>"); , но scanf_s("%c", &scan); не выполняется вместо этого переменная scan принимает значение \n возможно как-то сохраняет перенос строки из прошлого ввода.
Как это исправить и почему так происходит?
Ps: Бесконечный цикл был задуман