Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.27;
Скачать: CL | DM;

Вниз

как работает и почему такой ответ   Найти похожие ветки 

 
Vlad Oshin ©   (2008-06-07 16:07) [0]

for i:=0 to 20 do val:=random(100)+50;
 memo1.text:=inttostr(i);

memo1.text=
21

почему?
(знаю, что переменная после цикла в общем случае не определена, но почему она не 0, не 20, а 21 ?!?!)


 
БарЛог ©   (2008-06-07 16:09) [1]

а попробуй for i:=0 to 21
при тех же условиях. чему равно?


 
ketmar ©   (2008-06-07 16:09) [2]

>[0] Vlad Oshin © (2008-06-07 16:07:00)
открой дизассемблер — узнаешь.

---
All Your Base Are Belong to Us


 
Ega23 ©   (2008-06-07 16:16) [3]


> но почему она не 0, не 20, а 21


потому что inc идёт в конце цикла.


 
Anatoly Podgoretsky ©   (2008-06-07 16:17) [4]

> Vlad Oshin  (07.06.2008 16:07:00)  [0]

А тебе какая разница, если ее значение не определено в данной точке.


 
БарЛог ©   (2008-06-07 16:24) [5]

> потому что inc идёт в конце цикла.
А, тьфу. Я думал он счётчик в теле цикла меняет.
Ну тогда [3]
21<>20, поэтому цикл не выполняется и идёт дальше.


 
Renegat   (2008-06-07 18:05) [6]

i=21, потому что увеличение переменной выполняется после прохода тела цикла. И если значение i вышло за диапазон (что мы и наблюдаем), цикл останавливается.



Страницы: 1 вся ветка

Текущий архив: 2008.07.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
15-1213086652
Alexander
2008-06-10 12:30
2008.07.27
DBGrid с поддержкой Unicode


2-1214309144
Alex_C
2008-06-24 16:05
2008.07.27
Вопрос по TMenuItem


15-1211663863
Германн
2008-05-25 01:17
2008.07.27
Насколько же я могу быть тупым!


2-1214419508
Igor23
2008-06-25 22:45
2008.07.27
CMD+ShellExecute


11-1191046802
Vladimir Kladov
2007-09-29 10:20
2008.07.27
Версия 2.81