Ваши переменные s1
и s2
объявлены как строки, и они могут содержать любые символы, которые пользователь может вводить на клавиатуре, и любое их количество.Итак, как, по вашему мнению, программа может сказать, когда пользователь нажимает клавишу, должна ли она быть частью s1
или s2
?Ответ: не может.
Чтобы ваш код работал правильно, используйте readln
вместо read
.Таким образом, когда readln
выполняется, пользователь должен нажать Enter , чтобы сообщить программе о завершении ожидания ввода большего числа символов.
Обратите внимание, что некоторые реализации Pascal позволяют писатьчто-то вроде этого
readln(i1, i2)
, где i1
и i2
- целые числа.Это будет работать, если пользователь введет два целых числа, разделенных пробелом, или Tab , потому что тогда код чтения может сказать, где заканчивается ввод i1
и начинается i2
.
Такжеобратите внимание, что
readln;
сам по себе ожидает, когда пользователь нажмет Enter , что является элементарным способом заставить программу "остановиться".