Visiči else je problem v računalniškem programiranju, pri katerem neobvezna klavzula else v stavku if–then(–else) povzroči dvoumnost ugnezdenih pogojnikov Formalno je referenca slovnica jezika brez konteksta je dvoumna, kar pomeni, da obstaja več pravilnih dreves za razčlenjevanje.
Kako je viseča nejasnost rešena v C ++?
Java, C in C++ so se odločili za razrešitev dvoumnosti Dangling-Else uporablja naslednje pravilo: Ključna beseda else je vedno povezana z najbližjo ključno besedo if, ki NE povzroča sintaksne napake.
Kako je viseča nejasnost rešena v Javi?
Nejasnost, ki nastane, če jezik dovoljuje konstrukcije v obliki if b1, potem če b2 potem S1 else S2, pri kateri ni jasno, kateri if je povezan z else. Algol 60 je rešil dvoumnost tako, da je prepovedal uporabo if takoj za potem; Pascal, C, C++ in Java povezujejo else z najglobljim if.
Kakšen je problem bingljanja, kdaj se pojavi?
Ko je število stavka if večje ali manjše od števila stavkov else, pride do zmede pri ujemanju s strani prevajalnika.. tako imenovani problem je viseči else. To je mogoče premagati z uporabo naramnic.
Katera od naslednjih izjav povzroča problem visečega drugega?
Problem visečega drugega se pogosto pojavi, če obstaja izjava if brez prisotnosti resnične ali napačne izjave. Stavek switch brez privzete vrednosti ne povzroča težave z visečim else. Ta težava nastane predvsem zaradi ugnezdenih stavkov if.