![]() |
|
||||||||||
|
|
|
|||||
|
Добрый день)
Простенький код: Отлично! А если такой: var offset:int = new int(13);
var i:int=Math.floor(640/offset);
var j:int=Math.floor(480/offset);
while (i--){
while (j--){
}
}
Работает идеально
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Быть может потому что -1 вообщем-то тоже true?
upd: Хотя не то. Вообщем я тоже не въехал... upd2: Нет я втыкаю. Всё таки да. Всё что не нуль это тру - вот твоя ошибка)
__________________
while(1) {} Последний раз редактировалось Division; 16.09.2008 в 16:50. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Потому-что int. 2147483647 + 1 = -2147483648 и наоборот
Операция декремента это не условие. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
В for сначала проверяется условие, а потом выполняется декремент при успешности, а в while всегда.
Поэтому после первого выполнения условия j == 0 (при i == 3), потом был еще один декремент и j стало равным -1 и соотвественно при i == 2, второй раз условии стало недостижимым. Последний раз редактировалось iNils; 16.09.2008 в 17:21. |
|
|||||
|
Цитата:
__________________
while(1) {} |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Цитата:
while (j--){ Тут вообще нет условия. |
|
|||||
|
До меня не доходит. Как это нету?
Ведь то же самое было бы
__________________
while(1) {} |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Цитата:
Как Вы считаете как скоро while решит сравнить булеву переменную с 0? |
|
|||||
|
Вобще-то
if (<условие>) while (<условие>) for (var; <условие>; <действия>)
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|