в Windows,
char c;
int i;
scanf("%d", &i);
scanf("%c", &c);
Компьютер пропускает извлечение символа из консоли, потому что \ n остается в буфере.
Однако я обнаружил, что приведенный ниже код хорошо работает.
char str[10];
int i;
scanf("%d", &i);
scanf("%s", str);
Как и в предыдущем случае, \ n 'остается в буфере, но почему scanf успешно получает строку из консоли на этот раз?