Форум: "Прочее";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Внизкак работает и почему такой ответ Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c