Wie viele Schleifen beendet ein BREAK

Hallo Gemeinde,

ich habe mal wieder eine Frage an die Profis. Arbeite momentan an einem Projekt bei dem ich (zumindest jetziger Stand) ein Break in einer Schleife (while Schleife) verwenden muss. Die Verwendung des BREAK's ist mir durchaus bekannt, nur bin ich dabei über ein kleines Detail gestolpert, bei dem Ihr mir helfen könntet: Wie verhält sich das break in der for-Schleife, wenn diese eine while-Schleife enthält?

zB: for (){ while(){ break; } }

Springe ich in diesem Fall nur aus der while Schleife oder sogar auch aus der for Schleife?

Danke schon mal für eure Unterstützung.

in einer for Schleife: mit break() kommst Du aus dem for; der Code nach dem for{} wird abgearbeitet. mit continue() wird der aktuelle for Durchlauf beendet und der nächste Schleifendurchlauf gestartet.

for (){
  while(){
    break;
  }
}

In Deinem Beispiel wird die while Schleife beendet nicht aber die for-Schleife.

Grüße Uwe

Ok, verstehe. Danke, es wird also immer nur aus der Schleife ausgestiegen, in der sich das break befindet.

korrekt. Nochwas, falls sich die Gedanken weiterdrehen. Wenn alles in einer Funktion steht, kommste mir return an jeder Stelle in der Funktion aus der Funktion raus.

Hallo,

und wenn man gemein ist, kann man direkt vor dem break auch die Laufvariable der for-Schleife auf ihren Abbruchwert setzen... Dann ist man aus beiden raus.

Gruß aus Berlin Michael

Johannes81: Ok, verstehe. Danke, es wird also immer nur aus der Schleife ausgestiegen, in der sich das break befindet.

Korrekt!

Willst du weiter raus springen, wirst du Return oder Goto verwenden müssen.

Andere Sprachen kennen auch ein "break 3;" um 3 Ebenen raus zu hüpfen. Unser C/C++ kennt das nicht.