[C-Sprache] Der Unterschied zwischen Sprunganweisungen, die die Schleifenstruktur ändern (Break-, Continue-, Goto-Anweisungen)

1. break-Anweisung und continue-Anweisung

break-Anweisungsfunktion

Die Break-Anweisung wird in Schleifenanweisungen und Switch - Anweisungen verwendet

  • Bei Verwendung in einer Schleifenanweisung kann es dazu führen, dass das Programm die Schleife beendet und die nachfolgenden Anweisungen der Schleifenanweisung ausführt. Eine Break-Anweisung kann nur aus einer Schleife springen (keine Schleife, sondern eine Schicht von Schleifen); normalerweise die Die Break-Anweisung wird immer mit der If- Anweisung kombiniert . wird die Schleife dieser Ebene übersprungen, wenn die Bedingungen erfüllt sind.
  • Bei Verwendung in einer Switch-Anweisung: siehe unten

continue-Anweisungsfunktion

Die continue-Anweisung kann nur in Schleifenanweisungen verwendet werden

  • Überspringen Sie die Anweisung nach continue im Schleifenkörper
  • Wird oft mit if-Anweisungen verwendet, d. h. mit dem Verlassen dieser Schleife , wenn die Bedingungen erfüllt sind

konkrete Erklärung

1. In einer for-Schleife

für den Ablauf der Anweisungsausführung

for (Ausdruck 1; Ausdruck 2; Ausdruck 3)
{ Schleifenkörperanweisung; }

Beim Ausführen der Schleifenkörperanweisung:

  • Wenn Sie auf Pause stoßen: Springen Sie aus der for-Schleife und führen Sie die nächste Anweisung der for-Schleife aus.
  • Angetroffen, fahren Sie fort: Springen Sie zu Ausdruck 3

2. In einer while-Schleife

while-Anweisungsausführungsablauf
Beim Ausführen der Schleifenkörperanweisung:

  • Begegnungspause: Springen Sie aus der While-Schleife und führen Sie die nächste Anweisung der While-Schleife aus
  • Begegnung fortsetzen: zum Ausdruck springen

3. In der do...while-Schleife

Ausführungsablauf der do-while-Anweisung
Beim Ausführen der Schleifenkörperanweisung:

  • Begegnungspause: Springen Sie aus der Do-While-Schleife und führen Sie die nächste Anweisung der While-Schleife aus
  • Begegnung fortsetzen: zum Ausdruck springen

4. Die Funktion der Break-Anweisung in der Switch-Anweisung

Beim Ausführen der switch-Anweisung:

  • Wenn Sie auf Pause stoßen: Springen Sie aus der Switch-Anweisung und führen Sie die nächste Anweisung der Switch-Anweisung aus.

2. Vergleich der Unterschiede zwischen break-Anweisung und continue-Anweisung

Schauen Sie sich am Beispiel der for-Schleife zunächst die Code-
Break-Anweisung an:

#include<stdio.h>
int main()
{
    
    
	int i, sum = 0;
	for (i = 1; i < 4; i++)
	{
    
    
		if (i < 2)
		{
    
    
			sum = sum + 1;
			printf("%d\n", sum);
		}
		if (i ==2)
		break;
		if (i == 3)
			printf("3");
	}
	return 0;
}

Das Ergebnis ist:

1

continue-Anweisung:

#include<stdio.h>
int main()
{
    
    
	int i, sum = 0;
	for (i = 1; i < 4; i++)
	{
    
    
		if (i < 2)
		{
    
    
			sum = sum + 1;
			printf("%d\n", sum);
		}
		if (i ==2)
		continue;
		if (i == 3)
			printf("3");
	}
	return 0;
}

Das Ergebnis ist:

1
3

Überwachung und Debugging:

  • break:
    brechen
    Wie Sie in der Abbildung oben sehen können, wird bei i = 2 die break-Anweisung ausgeführt, dann wird die Schleife direkt herausgesprungen, die return 0;-Anweisung wird ausgeführt und der Code endet. Die 3 ist hier nicht gedruckt.

  • continue:
    weitermachen
    Aus dem Bild oben können Sie ersehen, dass bei i=2 die continue-Anweisung ausgeführt wird und dann zum Ausdruck 3 der for-Schleife gesprungen wird, der i++ ist (Sie können sehen, dass sich i nach dem for von 2 auf 3 ändert Schleife wird ausgeführt) und führen Sie dann den folgenden Code normal weiter aus. Die 3 hier sind gedruckt.

3. goto-Anweisung

goto-Anweisungsetikett;

  • Die Anweisungsbezeichnung ist ein gültiger Bezeichner. Bei Verwendung folgt ein Doppelpunkt „:“ auf die Anweisungsbezeichnung und erscheint vor einer Anweisung in der Funktion. Wenn das Programm die goto-Anweisung ausführt, springt die Steuerung zur Anweisungsbezeichnung , um den Zweck der Steuerung der Schleife zu erreichen.
  • Zum Beispiel:
#include<stdio.h>
int main()
{
    
    
	int i=1;
	int sum=0;
	loop:if(i<=100)//loop 为跳转语句的语句标号
		{
    
    
		    sum=sum+i;
			i++;
			goto loop;//跳转到语句标号loop处继续执行
		}
		printf("sum=%d\n",sum);
	    return 0;
}

Acho que você gosta

Origin blog.csdn.net/m0_74102736/article/details/129729199
Recomendado
Clasificación