Помощь - Поиск - Пользователи - Календарь
Полная версия: Что выведет на экран данный код?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
TarasBer

var
S: string;
W,V: WideString;

begin
S := 'OLOLO';
S := '' + Copy(S, 100500, 1);
WriteLn(S); //

W := 'LOOL';
V := '' + Copy(W, 100500, 1);
W := '' + Copy(W, 100500, 1);
WriteLn(V); //
WriteLn(W); //

W := 'LOOL';
W := Copy(W, 100500, 1);
WriteLn(W); //

WriteLn('that''s all');
end.

IUnknown
Что именно он должен вывести? FPC во всех режимах молчит, как партизан, "thats all" и все тут. GPC код вообще не компилирует, Турбо-Паскаль тоже в пролете. Дельфи? Не думаю, что его поведение отличается от FPC + mode Delphi
TarasBer
Я запускал в дельфи-7.
Прикол тут: W := '' + Copy(W, 100500, 1);
Сочетании Copy из себя и сцепления работает неверно. Я долго ловил баг в программе...
Krjuger
Если внести некоторые изменения по типу 100500 заменить 10050,а то не влезает в размер константы, и заменить WideString; на String, nо он уже банально делает отступы на несколько строк и печатает that all,но запускалось через DosBox. В Embarcadero 2010 тоже самое.
IUnknown
Цитата
Если внести некоторые изменения по типу 100500 заменить 10050,а то не влезает в размер константы, и заменить WideString; на String, nо он уже банально делает отступы на несколько строк и печатает that all,но запускалось через DosBox.
Не подтверждается. Запускалось и через DosBox, и просто из TP, печатается 4 пустых строки + "thats all". D2009 ведет себя аналогично. WinXP SP3 + Win7 32bit + Win7 64bit
TarasBer
Значит, в Ембаркадеро баг убрали.
Krjuger
Цитата
Не подтверждается. Запускалось и через DosBox, и просто из TP, печатается 4 пустых строки + "thats all". D2009 ведет себя аналогично. WinXP SP3 + Win7 32bit + Win7 64bit

Я извиняюсь ,если неправильно выразился,но именно это я и имел ввиду ))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.