Похоже, у вас есть 5
вместо %
в строке формата scanf
.(Возможно, клавиша Shift нуждается в очистке.)
Это означает, что scanf
фактически ничего не читает в ваш буфер.Ваш код не проверяет возвращаемое значение из scanf
(оно должно быть!) И поэтому никогда не замечает, что это не удалось.Итак, вы пытаетесь вычислить длину ... буфера, заполненного неинициализированным мусором.Это может дать вам 432, или 0, или что-нибудь еще вообще.
[ИЗМЕНЕНО, чтобы добавить:] ... Ох.И даже если вы это исправите, он все равно не будет работать, потому что scanf
прекратит чтение, когда увидит символ пробела , включая символ новой строки, и поэтому функция \n
your get_length
ищетfor не будет в буфере.
Кстати, знаете ли вы о функции strlen
в стандартной библиотеке C?