@ Splat имеет лучший ответ здесь, так как это домашняя работа, и часть вашего задания должна использовать scanf
.Тем не менее, fgets
гораздо проще в использовании и обеспечивает более точное управление.
Что касается вашего второго вопроса, вы получите длину строки с помощью strlen
и сохраните ее в переменной типа * 1008.*.Хранить его в int
неправильно, потому что мы не ожидаем, что строки длиной -5.Аналогично, хранить его в unsigned int
или другом неподписанном типе неуместно, потому что мы не знаем точно, насколько велик целочисленный тип, и сколько именно места нам нужно для хранения размера.Тип size_t
существует как тип, который гарантированно будет подходящего размера для вашей системы.