Kezdőoldal » Számítástechnika » Programozás » A két kódrészlet egyenértékű-e?

A két kódrészlet egyenértékű-e?

Figyelt kérdés

EGYIK

if (a == 0) ki ='0'

else {

if (a > 0) ki='+'

else ki='-'

}

MÁSIK

if (a == 0) ki ='0'

else if (a > 0) ki='+'

else ki='-'


és tudtok olyan példát mondani, amikor két ilyen kódrészlet nem egyenértékű?



#elágazás #egymásba ágyazott
2020. febr. 24. 21:38
 1/4 anonim ***** válasza:

Egyenértékű.


Nem tudom mit értesz "két ilyen kódrészlet" alatt, ha arra, de az első else kapcsoszárójelei feleslegesek minden esetben.

2020. febr. 24. 22:18
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

"és tudtok olyan példát mondani, amikor két ilyen kódrészlet nem egyenértékű?"


Ja, pl. mikor az else ág kihagyásával nyitsz új szelekciót.

2020. febr. 24. 22:22
Hasznos számodra ez a válasz?
 3/4 2*Sü ***** válasza:

Működés szempontjából olyannyira nincs különbség, hogy ha ennyi a kód, akkor a GNU fordító ugyanazt a futtatható programot fogja belőle fordítani.


Miről is van szó? Ha az if-nek van egy else ága, akkor az az else ággal együtt képez egyetlen utasítást. Az első programrészletben a külső else ágban tehát a kapcsos zárójelek között egyetlen egy utasítás van, így a kapcsos zárójel elhagyható. Ha meg elhagyjuk, akkor tulajdonképpen ugyanazt a forrást kapjuk, mint ami a második esetén, csak a sortörések, behúzások vannak máshol, tehát eltérés pusztán a whitespace karakterekben van.


Különbség maximum a kód eleganciájában, átláthatóságában, bővíthetőségében van. Úgy általában szebbnek tartott a második megoldás. De ez függ attól is, hogy úgy általában miről is szól a program maga.

2020. febr. 24. 22:56
Hasznos számodra ez a válasz?
 4/4 anonim válasza:
igen
2020. márc. 4. 16:32
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!