Только вы можете знать, какой длины достаточно для ваших нужд.
Если имеется ограниченный набор или диапазон допустимых входов, вы можете использовать длину максимально допустимого входа + 1.
Если нет ограничения на максимально допустимый ввод, либо вам нужно решить, что ваша программа не поддерживает ввод более длинным, чем X, и установить его как ограничение, либо реализовать чтение в цикле в динамически растущий буфер (например, используя realloc
при необходимости).
И всегда не забывайте ограничивать максимально допустимую длину ввода при чтении, чтобы избежать переполнения буфера чрезмерным вводом.(Использование fgets
часто проще всего сделать правильно.)