int x = 0;
while (x < 3) {
x = x++;
System.out.print(x + " ");
}
Я понимаю, что если написано y = x++, то сначала y присваивается значение х, после чего х увеличивается на единицу. Почему этого не происходит с выражением х = х++?
Ответ
x = x++;
эквивалентно
int tmp = x;
x++;
x = tmp;
Сначала присваивается старое значение, делается инкрементирование, присваивается старое значение - поэтому цикл бесконечный, x = 0 всегда.
Комментариев нет:
Отправить комментарий