Паскаль, массив, цикл for

программирование

Отвечали мы тут с BVOG на вопрос по задачке на Паскале. И столкнулись с забавным моментом:
http://otvety.google.ru/otvety/thread?tid=53fbdb83f934e03c&fid=53fbdb83f934e03c0004a0b8c69f19aa&table=%2Fotvety%2Fuser%3Fuserid%3D18196019153011801075%26tab%3Dwtmtor

для тех, кому лень идти по ссылке, рассказываю:
считываем введенную строку и подсчитываем через Length количество введенных символов (N).
А потом прогоняем эту самую строку как массив посимвольно через цикл for.
Причем программа корректно работает, если мы задаем члены массива с 1 до N, но ведь обычно в языках программирования первый (в человеческом понимании) член массива идет как A[0]! А последний - как A[N-1] соответственно..
А тут - строго от A[1] до A[N]

Почему так?

Примечание:
setinet, это для любого массива?
Ответы:
нулевая ячейка  [0] зарезервирована в стринге и содержит длину строки
var s:string;
begin
s:='gfdgshdfshdsh';
writeln(s[1]); //g
writeln(s[0]); //ошибка
setinet - writeln(s[0]); - это не ошибка, а не правильный вывод информации.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.