Почему при вводе больше 5 символов, следующие символы записываются во второй массив? И как этого избежать?
char str1[5] = {0};
char str2[5] = {0};
scanf("%5s", str1);
scanf("%5s", str2);
printf("%s %s\n", str1, str2);
scanf("%5s", str1);
scanf("%d", &a);
получается при такой
конструкции 6-й символ полезет в в переменную int a, но она какбэ только
числа принимает и получит значение ноль. чего собственно хотелось бы
избежать. к тому же не все вводят именно указанное количество символов.
как сделать так, что бы при втором вызове scanf не пихал в переменную а
ноль (в массив str2 символы, которые не влезли str1)?