Ist es möglich, die break
Funktion zum Verlassen mehrerer verschachtelter for
Schleifen?
Wenn ja, wie würden Sie dabei vorgehen? Können Sie auch kontrollieren, wie viele Schleifen die break
Ausgänge?
Ist es möglich, die break
Funktion zum Verlassen mehrerer verschachtelter for
Schleifen?
Wenn ja, wie würden Sie dabei vorgehen? Können Sie auch kontrollieren, wie viele Schleifen die break
Ausgänge?
Andere Sprachen wie z.B. PHP akzeptieren einen Parameter für break (z.B. break 2;), um die Anzahl der verschachtelten Schleifenstufen anzugeben, aus denen man ausbrechen möchte, C++ hingegen nicht. Sie müssen dies mit Hilfe eines booleschen Wertes lösen, den Sie vor der Schleife auf false setzen, in der Schleife auf true, wenn Sie abbrechen wollen, und mit einem bedingten Break nach der verschachtelten Schleife, wobei Sie prüfen, ob der boolesche Wert auf true gesetzt wurde, und wenn ja, abbrechen.
Unterbrechen Sie eine beliebige Anzahl von Schleifen um nur eine bool
Variable siehe unten:
bool check = true;
for (unsigned int i = 0; i < 50; i++)
{
for (unsigned int j = 0; j < 50; j++)
{
for (unsigned int k = 0; k < 50; k++)
{
//Some statement
if (condition)
{
check = false;
break;
}
}
if (!check)
{
break;
}
}
if (!check)
{
break;
}
}
In diesem Code wird break;
alle Schleifen.
Sie können try...catch verwenden.
try {
for(int i=0; i<10; ++i) {
for(int j=0; j<10; ++j) {
if(i*j == 42)
throw 0; // this is something like "break 2"
}
}
}
catch(int e) {} // just do nothing
// just continue with other code
Wenn Sie aus mehreren Schleifen auf einmal ausbrechen müssen, ist das oft ohnehin eine Ausnahme.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.