Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизКак тупят программисты? Найти похожие ветки
← →
Юрий Зотов (2003-05-18 12:25) [40]> Нуу (16.05.03 03:51)
> ZeroDivide © (16.05.03 08:32)
> Malder © (18.05.03 11:58)
Это целая переменная с дипазоном 0..9. Особенность компилятора в том, что код контроля переполнения не строится, а вместо этого строится код, "отбрасывающий" старшие десятичные разряды. В итоге получаем: если I=9, то после прибавления еще единицы I будет равно нулю. Отсюда и зацикливание (I никогда не может превысить верхнюю границу цикла).
В PL/1 еще и не такие чудеса были возможны. Например, практически любой тип данных там запросто преобразовывался в практически любой другой тип данных. Штука очень мощная, но и очень опасная. Требует внимательности, аккуратности и полного понимания того, что ты делаешь и как это будет обработано компилятором. Иначе последствия непредсказуемы, а вылавливать подобные ошибки обычно бывает очень непросто.
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c