c структура: для ввода требуется число построчно, нажав "ввод" после каждого числа
Как я могу добавить 10-значный номер без записи одной цифры в каждой строке.
struct test {
unsigned short telephone[10];
//Some Code Here ...
}
for (j = 0; j < 10; j++) {
scanf("%d", & seats[position - 1].telephone[j]);
}
1 ответ
Две вещи, чтобы упомянуть,
- Уважайте тип данных
- Используйте максимальную ширину поля с scanf.
Написать
scanf("%1hu", &seats[position-1].telephone[j]);
// ^
который читает только 1 элемент из ввода.
Обратите внимание h
это модификаторы длины, которые описываются как
h
Указывает, что следующий
d
,i
,o
,u
,x
,X
, или жеn
спецификатор преобразования применяется к аргументу сtype pointer
вshort int
или жеunsigned short int
,
Также связано с C11
, глава §7.21.6.2/p9, (выделено мной)
Элемент ввода определяется как самая длинная последовательность символов ввода, которая не превышает заданную ширину поля и которая является или является префиксом соответствующей последовательности ввода.