A for és a while ciklus magjában miben tér el a continue utasítás működése?
for ciklus minden egyes lefutása után végrehajtódik a for ciklus harmadik argumentuma. Ezért a for ban ez nem okozhat végtelen ciklust míg while ban igen mert a continue eredménye az hogy megszakítja a blokkban levő kód futását ez pedig ahhoz vezethet hogy a while ciklus feltételében egy számláláshoz használt változó ami mondjuk a continue után van sosem fog tudni lefutni. De ehhez az kell hogy minden keretben lefusson a continue.
Ezért is számlálós ciklus a for neve mert történhet bármi a for harmadik paramétere a ciklus egyszeri lefutása után minden esetben megtörténik ezért számlálásra tökéletes.
Kedves 1-es. Semmiben nem különbözik lényegileg.
A for ciklusban valóban lefut az utolsó paraméter, de attól még ugyanúgy lehet végtelen ciklus. Például a múltkor én így jártam:
for(int a=0; a<10; i++){//valami}
Na ez az életben nem áll meg, mert az i-t növeli, és az a-t vizsgálja.
Kérdezőnek pedig: assembly kódba fordítva ugyanúgy egy jump utasítás (vagy valamely alváltozata) van, nincs lényegi különbség. Csak for esetén tényleg van egy plussz utasítás, ami a for 3. paraméterét végrehajtja, ha van olyanja.
Igen ez igaz de én azért hagytam figyelmen kívül amit most te írtál a válaszomkor mert helytelen erre a célra a for alkalmazása még ha működik is. A for számlálásra van kitalálva.Annak számolására hogy hányszor kell neki lefutni és nem pedig valami más dolognak, ez pedig csak úgy működhet ha te ezt a számlálót alkalmazod a feltételében is.
Rossz ciklust használtál akkor szerintem. :D
Miért volna hiba a használata most mi átláthatóbb,szebb az ha egy ciklus feltétele letisztultabb vagy az ha becsusszantunk egy continue utasítást.
Nekem az utóbbi.
A goto szerintem is rontja egy kód olvashatóságát de a continue az egy kicsit sem. Teljesen magától értetődő hogy ha meglátunk egy continue utasítást akkor az ott azt jelenti hogy kihaggyjuk az őt követő részeket és nem nehéz kitalálni hogy hová ugrunk mert a ciklus elejére mindig.
Ha neked átláthatatlan a continue akkor te még kezdőbb vagy mint én.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!