Nun, wird die break -Anweisung bewirken, dass der Compiler aus der kommt for Schleife oder wird es nur aus dem Körper kommen if einmal der Zustand in der if wird zufrieden?
Zu Ihrer Information, if ist keine Schleife.
– Spikatrix
27. September 2015 um 7:47 Uhr
@CoolGuy ist es auch nicht switch
– MM
27. September 2015 um 8:14 Uhr
@MM Ich weiß. Der OP hatte gesagt “if Schleife” in der vorherigen Revision und ich habe das korrigiert.
– Spikatrix
27. September 2015 um 8:18 Uhr
Windows-Programmierer
Das break Aussage bricht aus die nächste Einfriedung Schleife oder Schalter Aussage.
break bricht nicht aus einem aus if Aussage, aber die nächste loop oder switch das enthält das if Aussage. Der Grund dafür, nicht aus einem auszubrechen if Aussage ist, weil es häufig verwendet wird, um zu entscheiden, ob Sie aus dem ausbrechen möchten loop.
Interessanterweise verhielt sich eine Telefonvermittlung falsch, weil das Unternehmen, das C genau diesen Fehler gemacht. Sie wollten aus einem ausbrechen if Aussage und sie vergaßen, dass es aus dem Ganzen herausbrechen würde for Aussage.
danke Herr und das war ein sehr informatives Beispiel. Ich bin mir jetzt darüber im Klaren.
– Avi
2. April 2010 um 8:19 Uhr
Das war vor rund 20 Jahren eine Neuigkeit. erelender, du kannst es genauso gut googeln wie ich, vielleicht beginnend mit Dingen wie ess software bug break.
– Windows-Programmierer
4. April 2010 um 23:44 Uhr
Markus Byers
Es wird ausbrechen for Schleife. EIN break Anweisung wirkt sich nur auf Schleifen aus (do, for, while) und switch Aussagen (zum Ausbruch aus a case).
Eine Break-Anweisung darf nur in oder als Switch- oder Loop-Body erscheinen.
Semantik
Eine break-Anweisung beendet die Ausführung des kleinsten einschließenden Schalters oder der kleinsten Iterationsanweisung.
break wird nicht aus einer if-Klausel ausbrechen, sondern aus der nächsten Schleife oder der switch-Klausel. Außerdem wird eine if-Klausel nicht als “Schleife” bezeichnet, da sie ihren Inhalt niemals wiederholt.
Die Break-Anweisung wirkt sich nur auf Schleifen und Switch-Klauseln aus. In jedem Fall wird es aus der nächsten umschließenden Schleife herauskommen. Es ist eine gute Praxis, einen bedingten Bruch zu verwenden, dh einen Bruch, der von einer if-Anweisung eingeschlossen ist. Wenn Sie aus allen Schleifen oder einer Schleife herauskommen möchten, können Sie die goto-Anweisung verwenden. Zum Beispiel:
while(true) {
while (some_condition) {
if (some_condition)
goto label;
}
}
label: // do something here
Die Break-Anweisung unterbricht keine if- oder else-Anweisung. Wenn Sie eine Break-Anweisung verwenden, kommt sie hauptsächlich aus der nächsten Schleife (For-Schleife, While-Schleife, Do-While-Schleife und Switch-Case).
Cooles Mädchen
Die Break-Anweisung hat keinen Nutzen in Entscheidungsfindungsaussagen. Es wird nur in Schleifen verwendet, wenn Sie die Beendigung der Schleife erzwingen und die Ausführung von der Anweisung nach der Schleife fortsetzen möchten. Es gibt keine Frage von “wird break-Anweisung dazu führen, dass die Kontrolle aus der if-Anweisung herauskommt, wenn die Bedingung wahr ist”, denn unabhängig von der break-Anweisung wird die Kontrolle sowieso aus der if-Anweisung herauskommen, wenn die Bedingung wahr ist und sobald ihr Körper wahr ist hingerichtet. Die if-Anweisung ist keine Schleife. sie wird entweder gar nicht oder nur einmal ausgeführt. Es macht also absolut keinen Sinn, eine Pause in den Körper von if einzubauen.
13884400cookie-checkFunktioniert `break` nur für `for`, `while`, `do-while`, `switch’ und für `if`-Anweisungen?yes
Zu Ihrer Information,
if
ist keine Schleife.– Spikatrix
27. September 2015 um 7:47 Uhr
@CoolGuy ist es auch nicht
switch
– MM
27. September 2015 um 8:14 Uhr
@MM Ich weiß. Der OP hatte gesagt “
if
Schleife” in der vorherigen Revision und ich habe das korrigiert.– Spikatrix
27. September 2015 um 8:18 Uhr