Pause in der do while-Schleife

Was passiert, wenn man in verschachtelten Schleifen?

angenommen, Sie den folgenden code:

for(int x = 0; x < 10; x++)
{
    do {
        if(x == 4)
            break;
        x++;
    } while(x != 1);
}

Die Schleife wird beendet, auf die Begegnung mit der break-Anweisung, die for-Schleife oder die do-while-Schleife ?

  • break wird nur verlassen der inneren Schleife
  • es verlassen die do/while, wenn Sie wollen, um zu beenden aus der ÄUßEREN Schleife, die Sie haben zu Rollen, mit einer goto-Anweisung...
  • Sie können die Pause von der äußeren Schleife mehrere Möglichkeiten. Sie können goto können Sie return können Sie festlegen x = 10;, und so onl.
  • David, vielen Dank für den Tipp zur Einstellung Voraussetzung für die outerloop als falsch, aber springen war genau das, was ich versucht habe zu vermeiden.
  • Diese Frage wäre beantwortet worden, durch sich selbst, durch die tatsächlich diesen code testen. Haben Sie es versucht, bevor du?
  • Es ist ein Urteil-Aufruf, welche Methode Ihnen am besten gefällt, und in jedem einzelnen Fall Ihre Liste der Optionen kann ein bisschen anders. Die Gefahr der Einstellung der outerloop Bedingung ist, dass es macht die Logik, die innere Schleife abhängig von der Logik der äußeren Schleife. Wenn das ist fundamental, um den bestimmten Abschnitt im code, dann ist das kein problem. Aber wenn Sie sonst semi-unabhängig, der Abhängigkeit kann der code fragiler und schwieriger zu pflegen und zu verstehen. Betrachten Sie alle Optionen, und verwenden Sie ein gutes Urteilsvermögen.
  • Honky Tonk, ich würde, wenn meine Firma würde nicht mit einem obskuren remote kompilieren box, daher kann ich keine Vermutungen anstellen, ob Ihr compiler die gleiche Weise verhält wie der gcc auf meinem Rechner. Daher halte ich mich an c standard-Implementierung.

InformationsquelleAutor sgupta | 2012-08-31
Schreibe einen Kommentar