Описание - часть 2
repeat
if count < MAXTOK then
begin
inbuf[count] := char(c);
inc(count);
end;
c := getc (inf);
until not isalnum (c);
ungetc (c, inf); (* вернуть символ *)
end;
inbuf[count] := #0;
(* нулевой символ в конце строки *)
getword:=inbuf;
end;
var
word:pchar;
begin
while true do
begin
word := getword (stdin);
if word <> nil then
puts (word)
else
break;
end;
end.
Если подать на вход программы следующий ввод
Это данные
на входе
программы!!!
то процедура getword вернет следующую последовательность строк:
Это
данные
на
входе
программы
!
!
!
Упражнение 11.3. Измените процедуру getword так, чтобы она распознавала также числа, которые могут начинаться со знака минус или плюс и могут содержать десятичную точку.