Příkaz continue

Příkaz continue (pokračovat) je menší sourozenec příkazu break. Neukončí celý cyklus, ale jen aktuální průchod: přeskočí zbytek bloku a cyklus rovnou pokračuje dalším průchodem.

Tento cyklus vypíše čísla od 1 do 10, ale přeskočí násobky 3:

for (int cislo = 1; cislo <= 10; cislo++) {
    if (cislo % 3 == 0) {
        continue;
    }
    printf("%d\n", cislo);
}

Vypíše:

1
2
4
5
7
8
10

U čísel 3, 6 a 9 podmínka platí a continue přeskočí řádek s výpisem. Krok cislo++ se ale provede a cyklus pokračuje jako obvykle dalším číslem.

Příkaz continue obvykle stojí na začátku bloku a odfiltruje hodnoty, kterými se nechcete zabývat: „tahle nás nezajímá, jdeme na další“. Zbytek bloku pak pracuje už jen se zajímavými hodnotami a nemusíte ho celý psát dovnitř if.

Pozor na continue v cyklu while. Skočí rovnou zpět na podmínku, takže pokud je řádek, který zvyšuje počítadlo, až pod continue, přeskočí se také. Počítadlo se přestane měnit a vznikne nekonečný cyklus. V cyklu for se to stát nemůže: jeho krok se provede po každém průchodu, i po takovém, který skončil příkazem continue.

Pokyny

Cyklus vypisuje prvních 14 dní měsíce, který začíná pondělím, vy ale chcete jen pracovní dny. Na začátek bloku cyklu napište if, který den přeskočí pomocí continue, když je to sobota nebo neděle. Soboty jsou dny, pro které platí den % 7 == 6, neděle dny, pro které platí den % 7 == 0. Program pak vypíše Den 1 až Den 5 a Den 8 až Den 12.

Spočítejte pracovní dny. Před cyklem vytvořte proměnnou pracovni_dny s hodnotou 0. V cyklu ji pod if s continue zvyšte o 1. Za cyklem vypište Pracovní dny: 10.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

8/11