
18.09.2009, 10:26
|
|
|
Модрон-ветеринар
администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
|
Ошибся - UPD:
Cперва происходит приращение, затем формальный прогон вычислений внутри цикла, в конце тела - заход на новый виток и проверка условия с новым значением счетчика.
То есть внутри интерпретатора - для вычислений цикл заканчивается на 5, но если условие при заходе по новой не выполняется, результаты вычислений не используются.
Но трейс при этом уже был.
Тут нужно низкоуровневое осмысление этого процесса. Видимо так сделано в угоду производительности вычислений. Вычисления уже готовы, а вот использовать их или нет - завист от условия.
Добавлено через 8 минут
Еще такая версия - язык "не понимает", что такое "<" - то есть меньше. Вычисление сравнения - сложная операция. Интерпретатор скорее всего проверяет равенство. Если числа равны, то результат последних вычислений не принимается.
Это мне кажется наиболее правильным объяснением.
Последний раз редактировалось mooncar; 18.09.2009 в 10:30.
|