===== Vnořený rozhodovací příkazu ===== Příkazem v těle rozhodovací příkazu může být další rozhodovací příkaz. ===== Syntaxe vnořeného rozhodovacího příkazu ===== // S jedním příkazem v těle if (podmínka1) prikaz1; else if (podmínka1) prikaz2 else prikaz3; // S blokem příkazů v těle if (podmínka1) { prikaz1a; prikaz1b; //... } else { if (podminka2) { prikaz2a; prikaz2b; } else { prikaz3a; prikaz3b; } } //... ==== Poznámky ==== * část **else** patří vždy tomu nejbližšímu **if**. * Pokud při vnořování rozhodovacích příkazů dochází k míchání neúplných a úplných rozhodovacích příkazů, je lépe používat složené závorky a důsledně odsazovat části, které k sobě patří. * if a jemu odpovídající else by měly býtzarovnány na stejnou úroveň ===== Průběh vnořeného rozhodovacího příkazu ===== - **vyhodnocení podmínky1** - podmínka1 platí - **vykonání první skupiny příkazů** - podmínka1 neplatí - **vyhodnocení podmínky2** - podmínka2 platí - **vykonání druhé skupiny příkazů ** - podmínka2 neplatí - **vykonání druhé skupiny příkazů ** ==== Výpis textu, zda celé číslo menší než 0, rovno 0 nebo větší než 0 ==== if (x < 0) printf("%d je menší než nula\n", cislo); else if (x == 0) printf("%d je rovno nule\n", cislo); else printf("%d je větší než nula\n", cislo);