Да, вы можете использовать ungetc()
для возврата символа во входной поток.
Вот пример программы:
#include <stdio.h>
int main(void) {
printf("Type something: ");
int c = getchar();
printf("Ok, you typed '%c'. Putting it back...\n", c);
ungetc(c, stdin);
printf("Reading it again...\n");
c = getchar();
printf("Still '%c'. Putting it back again...\n", c);
ungetc(c, stdin);
printf("Reading it again...\n");
c = getchar();
printf("Still '%c'!\n", c);
}
Запуск его:
Type something: smackflaad
Ok, you typed 's'. Putting it back...
Reading it again...
Still 's'. Putting it back again...
Reading it again...
Still 's'!