2017-02-02 15 views

ответ

0

Его бесконечный цикл из-за строки i = i ++, которая работает следующим образом. (Предположим, что i = 1)
1) 'i' увеличивается на 1. (So i = 2)
2) Значение i ++ i.e значение до приращения присваивается «i». (So ​​i = 1)

Итак, значение 'i' не изменится, условие 'i < 10' никогда не будет ложным, что приведет к бесконечному циклу.

+0

Но поскольку это оператор post increment, сначала «i» должен быть присвоен 1. Затем «i» должен увеличиться до 2. не так ли? –

+0

@ Viswa Sairaman: Оператор Increment имеет больше _precedence_, чем оператор присваивания. Поэтому, если «i» равно 1, сначала выполняется приращение, что означает, что «i» становится 2, а «i ++» возвращает 1, которому присваивается «i», что делает его 1. –

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

  • Нет связанных вопросов^_^