A lógó else olyan probléma a számítógépes programozásban, amelyben az if–then(–else) utasítás opcionális else záradéka azt eredményezi, hogy a beágyazott feltételes feltételek nem egyértelműek Formálisan a hivatkozás a nyelv környezetfüggetlen nyelvtana kétértelmű, ami azt jelenti, hogy egynél több helyes értelmezőfa létezik.
Hogyan oldható meg a lógó else kétértelműség a C ++-ban?
A Java, C és C++ úgy döntött, hogy feloldja a Dangling-Else kétértelműséget, és a következő szabályt használja: Egy else kulcsszó mindig a legközelebbi megelőzőhöz kapcsolódik, ha olyan kulcsszó, amely NEM okoz szintaktikai hibát.
Hogyan oldják meg a lógó más kétértelműséget a Java nyelven?
Az a kétértelműség, amely akkor keletkezik, ha egy nyelv megengedi az if b1, akkor ha b2, akkor S1 else S2 alakú konstrukciókat, amelyben nem világos, hogy melyik if-hez kapcsolódik az else. Az Algol 60 feloldotta a kétértelműséget azzal, hogy megtiltotta az if használatát közvetlenül ezután; A Pascal, C, C++ és Java az else-t a legbelső if-hez társítja.
Mi a probléma a lógással, máskor mikor jelentkezik?
Amikor az if utasítások száma több vagy kevesebb, mint az else utasítás, akkor a fordító általi egyeztetés során zavar keletkezik.. az úgynevezett else függő probléma. Ez leküzdhető fogszabályozó használatával.
A következő állítások közül melyik hozza létre a lógó más problémát?
A lógó else problémát gyakran az okozza, ha van egy if állítás, amely nem jelenléte igaz vagy hamis állítást tartalmaz. Az alapértelmezés nélküli switch utasítás nem okoz lógó else problémát. Ez a probléma elsősorban a beágyazott if utasítások miatt merül fel.