scanf.Считывание символов
Есть такой код:
scanf("%d", n);
while (n)
{
scanf("%c", &ch);
printf("character: %c\n", ch);
n--;
}
После ввода значения переменной n и перехода на новую строку, у меня вместо вызова ф-ии scanf("%c", &ch) по какой - то причине сначала вызывается printf("character: %c", ch).
В итоге, я получаю такой вывод:
3
character:
abc
character: a
character: b
Должно быть:
3
abc
character: a
character: b
character: c
Примечание: если я добавляю после спецификатора формата ф-ии scanf("%d\n", &n) знак перехода на новую строку \n, то все работает корректно. Почему так происходит?