а динамические массивы там возможны ? %)
а если там не нулевые сивмолы ?... если зачистить массив перед записью переменной ?
зачистить пробелами... а не нулевыми символами, наприме.
а динамические массивы там возможны ? %)
а если там не нулевые сивмолы ?... если зачистить массив перед записью переменной ?
зачистить пробелами... а не нулевыми символами, наприме.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не поможет.
"Выдержка из руководства для функции READ(V)(READLN(V)):
V имеет тип стринга (строки).
По команде READ может быть прочитан стринг символов, и в этом
случае читается последовательность символов до тех пор, пока не
будет достигнуто их количество, заданное размером стринга или пока
не будет встречен маркер "конец строки" и функция EOLN примет
значение TRUE. Если конец строки достигается до того, как прочитан
весь стринг, то конец стринга заполняется нулевыми символами CHR(O),
что дает программисту впоследствии возможность оценить длину
введенного стринга."
До конца строки всё заполняется нулевым символом, поэтому вопросы и выводит. Ну не может же быть такого ляпа в системе...
- - - Добавлено - - -
Вот что написано о строках:
"Разрешенные символы - полный набор кодов ASCII. Для обеспечения
совместимости со стандартным ПАСКАЛем нулевой символ можно
представлять только как CHR(O)."
Методом тыка я понял, что при выводе на экран выводятся все символы строки без влияния на вывод нулевого символа, а сам нулевой символ выводится знаком вопроса. Поэтому для корректного вывода строки нужно перед выводом заменить ненужные символы пробелами.
Решил проблему. После ввода строки заменил все нулевые символы в ней на пробелы. Заодно потренировался в определении длины массива. Листинг и результат работы программы:
Последний раз редактировалось Smalovsky; 03.12.2015 в 22:02.
¡Un momento, señor fiscal!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)