На
Наталья

Почему при вводе больше 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)?

Руслан
Руслан

У тебя запрос ввода первый записывает всё с консоля в массив str1. Как только он заполнится, будет заполнятся str2.
Всмысле избежать? поставь вместо 5-ки любое число (сейчас у тебя массив на 5-ть чисел только) , и будешь столько же вписывать раз числа в первый массив, пока не заполнится.

Похожие вопросы
Как вводится матрица (двухмерный массив) на языке Pascal ?
ввод спец. символов в Паскале
[c++] Ввод данных с клавиатуры в многомерный массив.
Дан стек из 5 символов, вытащить из стека символы.
Заполнить массив А по следующему принципу в паскале
Ограничение ввода символов в StringGrid (C++ Builder)
Создайтезапись, состоящую из полей: ФИО, Адрес, массив из 5 названий для следующих журналов. Создать массив из трех зап
С клавиатуры вводятся символы до тех пор, пока не встретится конец предложения. Концом предложения считать символы : ! ?
Помогите пожалуйста! как сделать так чтобы массив А вводить с клавиатуры имееться ввиду чтобы элементы его вводить!
Как сделать, чтобы при вводе любого символа в поле ввода, на сайте весь контент изменялся?