Хорошо, у меня проблемы со следующим кодом Fortran 90. Тестировщик программы должен создать массив символов с именем input, инициализировать все записи пробелом, затем получить от пользователя некоторую строку и сохранить ее на входе. Предполагается, что функция getLength возвращает последний индекс функции, который не является пробелом; так что если пользователь ввел строку «Привет, как дела?», то getLength (input) должен вернуть 11. Он должен работать, начиная с конца данного массива, и отмечая, где появляется первый непробельный символ , Когда я на самом деле пытаюсь запустить его, gfortran говорит: «Ошибка: возвращает несоответствие типа функции getLength в (1) (REAL (4) / INTEGER (4)). мне это исправить? Заранее спасибо!
program tester
implicit none
character(len = 1000) :: input
external getLength
do i = 1, 1000
input(i) = " "
end do
read *, input
print *, getLength(input)
end program
integer function getLength(array) result (length)
character(len=1000) :: array
integer :: lenTemp = 1000
do while (array(lenTemp:lenTemp) == ' ')
lenTemp = lenTemp - 1
end do
length = lenTemp
end function