Edellä olevassa esimerkissä on selvästi vikaa, koska siinä ehto (rahaa > 100) näyttää pysyvän jatkuvasti totena.
Asian todellinen laita riippuu tietysti osta_levyke()-toimenpiteen toteutuksesta: jos siinä pienennetään muuttujan rahaa arvoa, asia on kunnossa.
Seuraavassa while-silmukassa muuttujan rahaa arvoa pienennetään jokaisella kierroksella, joten ohjelmasta toimii varmemmin: