Das sind typische Anfängefehler im Coding, deshalb IMMER
die Einrückungen beachten und im Editor manuell vornehmen.

Wenn man den Code korrekt formatiert sieht man solche Probleme auf den ersten Blick.

Code:
while(x>0)
{
  if(y==1)
  {
     if(a==b)
     {
       ...
     }

  }

  if(y>10)
  {
     ...
  }

 ...
}



Die öffneneden und schliessenden Klammern sollten immer die gleiche Einrückung haben.

So sieht man immer schön welche Klammer zu welcher End-Klammer gehört. Die Arbeit sollte man immer investieren.

Quote:
zwischen while(1) und der Anweisung braucht es nicht zwingend eine geschweifte klammer.


Das ist ne "Abkürzung" in der C-Syntax, die - wie gesehen - zum fehlerhaften Code führt wenn man sie falsch versteht.
Denn while fürt hier nur die Condition aus, nicht aber das wait.
Auch hier immer Klammern verwenden.
Die Condition ohne Klammern sollte man nur bei simplen Einzeilern verwenden, wie ein

Code:
if(a==b) b=c;