Ennek a kifejezésnek van bármelyik programozási nyelvben értelme? A, B, C, D legyenek változók és én úgy értelmeztem, hogy ha A vagy B egyenlő C-vel, vagy nem egyenlő D-vel, akkor a feltétel teljesül.
if(a || b == c || !d){
}
Egy kódban láttam hasonlót, csak sajnos a konkrétumokra nem emlékszem. Kíváncsi lennék, hogy van-e ilyen megoldás.
C-ben, C++-ban van, de nem ezt jelenti.
Jelentése: Ha 'a' nem nulla, vagy 'b' egyenlő 'c'-vel, vagy 'd' nulla.
Van. De nem ez az értelme.
Ha nem rontom el a sorrendet:
A d-t letagadja.
Megnézi, hogy b egyenlőe c-vel.
Majd:
hogy az a, vagy b == c, vagy d igaz-e.
Tehát ha a, vagy b == c, vagy d igaz, akkor teljesül a feltétel.
(a lusta/mohó kiértékelést ne vegyük ide, mert az csak fölöslegesen bonyolítaná egyelőre a kérdést)
Amit te mondasz:
"A vagy B egyenlő C-vel, vagy nem egyenlő D-vel"
(a==c)||(b==c)||(a!=d)||(b!=d)
Nem kellenek a zárójelek, de így érthetőbb.
Amit leírtál (a || b == c || !d), az: "a" igaz vagy "b" egyenlő "c" vagy "d" hamis.
Egy másik lehetőség, ahogy te gondoltad a precedenciát:
(a || b) == (c || !d)
Ez megint egy másik kifejezés.
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!