При вводе символьного массива на языке СИ происходит нечто странное
#include <stdio.h>
#include <conio.h>
int main()
{
const int N = 5;
char mas[N];
int i;
for (i = 0; i < 5; i++) //Заполнение массива c клавиатуры
{
printf("mas[%d] = ", i);
scanf("%c", &mas[i]);
}
for (i = 0; i < N; ++i) // Вывод массива на экран
printf("%c", mas[i]);
return 0;
}
Что тут не так?
Ответы (1 шт):
Автор решения: AlexGlebe
→ Ссылка
После scanf буквы остаётся в буфере конец строки. Этот буфер надо очистить.
scanf("%c", &mas[i]);
while(getc(stdin)!='\n');
