Új hozzászólás Aktív témák

  • pmonitor

    aktív tag

    válasz sztanozs #6202 üzenetére

    Nem az implementációról beszéltem. Nem tudsz olyan kódot írni, hogy az implementációban break(vagy continue) legyen. Ott valóban minden goto(és ha tovább megyünk a kész kódra, akkor jmp) lesz. Arról a forráskódról beszéltem, amit a user ír. A példádban erről:
    for (int i=k; i>l; i+=m)

    Itt a continue visszafelé lép a törzsből az "i+=m"-re. Míg a break csak előre lép, a törzs utáni helyre. break-el nem tudsz visszafelé lépni. A goto-val meg össze-vissza tudsz lépkedni(akár hátrafelé is ki tudsz lépni a ciklusból(aztán vagy újra belelépsz, vagy akkor már kihagyhatod a ciklust is). Pl.:
    cimke_1:
    //utasítások
    for (int i=k; i>l; i+=m) {
    //utsítások
    goto cimke_1;
    }

    Ilyent a break-el nem tudsz csinálni. Az, hogy az implementációban mi van, az más kérdés.

    Szerk:
    A break esetén megvalósul a szekvencia - iteráció elv. Szekvenciálisan mennek az utasítások, amíg egy ciklushoz nem érsz. A ciklus más dimenzió, mint a szekvencia. Viszont a break tartja a szekvenciát(hiszen előre ugrik. Tehát az iteráció előtt és mögött is megmarad a szekvencia. Persze közben lehet szelekció bárhol, de a példámat nem akartam annyira bonyolítani.

    [ Szerkesztve ]

    http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php

Új hozzászólás Aktív témák