Break-Anweisung in zwei while-Schleifen
Sagen wir, ich habe dieses:
while(a){
while(b){
if(b == 10)
break;
}
}
Frage: Wird die break-Anweisung nehmen Sie mich aus beiden Schleifen oder nur von innen? Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In deinem Beispiel break-Anweisung, wird, während(b) Schleife
Wird es brechen nur die unmittelbaren while-Schleife. Mit einem label kann man ausbrechen der beiden Schleifen: werfen Sie einen Blick auf dieses Beispiel entnommen aus hier
Nur aus der inneren. Verwenden beschriftet Pause wenn Sie möchten, um zu brechen, um bestimmte Schleife
Siehe Auch
In den oben genannten code ein, den Sie brechen die innersten Schleife, wo (dh.
immediate loop
), wobreak
verwendet wird.Können Sie brechen sowohl die loops auf einmal mit der
break
mitlabel
Wird es brechen aus der Schleife heraus, dass unmittelbar umgibt es.
Können Sie jedoch brechen, um ein label:
Ich generell nicht gerne verwenden Sie dieses Muster, denn es führt leicht zu spaghetti-code. Verwenden Sie eine unbeschriftete brechen oder ein flag zum beenden der Schleife ermöglicht.
@Abhishekkumar
Break-Schlüsselwort hat es abgeleitet, die root von C und Assembly, und Brechen Sie den alleinigen Zweck übergibt die Kontrolle aus der compound-Anweisung, d.h. die Schleife, Bedingung, Methode oder Verfahren.
Bitte diese...
http://tigcc.ticalc.org/doc/keywords.html#break
http://www.functionx.com/cpp/keywords/break.htm
http://en.wikipedia.org/wiki/Break_statement#Early_exit_from_loops
So, wenn Sie wollen, um aus Zwei Schleifen zur gleichen Zeit hast du dann zwei Pausen, d.h. in der inneren Schleife und eine in der äußeren Schleife.
Aber Sie wollen halt beide loop zur gleichen Zeit, dann müssen Sie müssen, verwenden Sie exit oder return.
Einen
break
- Anweisung wird die innerste Schleife einschließenbreak
- Anweisung.Im Beispiel der inneren while-Schleife.
Als neugierig beachten, in PHP die break-Anweisung akzeptiert einen numerischen parameter, die erzählt, wie viele äußeren Schleifen, die Sie aufteilen möchten, wie diese:
Java break-Anweisung nicht nehmen Sie aus mehreren verschachtelten Schleifen.
Nur die innere Schleife natürlich.
legitimate
? Definitiv nicht. Wenn Sie diese Frage wurde über warum es nur break die innere Schleife, dann würde ich anders denken, aber diese Frage zeigt, dass OP wusste nicht einmal, verbringen die geringste Menge an Zeit, um zu versuchen es zuerst.