2015-07-12 7 views

ответ

5

Просто потому, что значение байта начинает переполняться после его максимального значения т.е. 127.

Значение i будет идти до 127, а затем переливается в -128, а затем увеличиваем обратно до 127. Этот процесс будет поэтому никогда не удовлетворит ваше для условия завершения цикла, и, таким образом, цикл навсегда.

+0

после 127 он будет обернут до -128 и снова отсчитайте до 127. Все возможные значения меньше 1000, поэтому он никогда не выйдет – xkickflip

0

Максимальное значение байта меньше, чем 1000.

+0

Я знаю, размер 'byte' равен [-128 до 127]. Но это не объясняет бесконечный цикл. – JohnWinter

+0

Как цикл должен заканчиваться, если невозможно, чтобы i> = 1000 было истинным? –

+0

есть, правый. Я вижу сейчас. – JohnWinter

Смежные вопросы