Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Cyklus for

Ahoj,

byl by někdo prosím tak ochotný a vysvětlil mi jednu věc?

Mějme cyklus zadaný takto:

for(int i = -3; i++;) { }

Kolik proběhne iterací a proč? V podmínce je post-inkrementace, což nějak nechápu.

Předmět Autor Datum
Cyklus proběhne třikrát. Post-inkrementace znamená inkrementaci po použití, nebo-li v tomto případě…
Niko Bellic 08.10.2015 21:44
Niko Bellic
Mnohokrát děkuji za detailní vysvětlení. Vyřešeno :) poslední
KostkaLedu 08.10.2015 21:59
KostkaLedu

Cyklus proběhne třikrát. Post-inkrementace znamená inkrementaci po použití, nebo-li v tomto případě po testu podmínky pro ukončení cyklu. V C/C++ se záporné a kladné hodnoty vyhodnocují jako true a nula jako false. Na začátku je inicializace i na -3, poté proběhne test podmínky, což je i++. V tuto chvíli i nabývá hodnoty -2. Pak se rozběhne cyklus. Na konci každé iterace se vždy ověří podmínka a po ní dojde k inkrementaci. Takže i bude postupně nabývat hodnot -2, -1 a 0. Pak dojde k ukončení cyklu.

Zpět do poradny Odpovědět na původní otázku Nahoru