Это происходит потому, что не происходит увелечение инкремента, условно когда итерация заканчивается код делает в вашем случае следующее i + 1, но т.к нету оператора присваивания (=), то i и не увеличивается. Обычно пишут i++, что равносильно i += 1.