Freigeben über


for-Anweisung (C)

Die for-Anweisung können Sie eine - Anweisung oder eine Verbundanweisung angegebenen Anzahl von Wiederholungen überprüfen.Der Text einer for-Anweisung wird null ausgeführt oder mehrmals, bis eine optionale Bedingung falsch ist.Sie können optionale Ausdrücke innerhalb der for-Anweisung verwenden, um Werte während der Ausführung der Anweisung for zu initialisieren und zu ändern.

Syntax

  • Iterationsanweisung:
    for ( init-expressionentscheiden Sie ; cond-expressionentscheiden Sie ; loop-expressionentscheiden Sie )statement

Ausführung von Erträgen einer for-Anweisung, wie folgt:

  1. init-expression ggf. wird ausgewertet.Dadurch wird die Initialisierung für die Schleife an.Es gibt keine Einschränkung für den Typ von init-expression.

  2. cond-expression ggf. wird ausgewertet.Dieser Ausdruck muss arithmetischen oder Zeigertyp haben.Sie wird vor jeder Iteration ausgewertet.Drei Ergebnisse sind möglich:

    • Wenn cond-expression-Wert ungleich 0 (null) true ist, wird statement ausgeführt; wird loop-expression ggf. ausgewertet.loop-expression wird nach jeder Iteration ausgewertet.Es gibt keine Einschränkung auf seinem Typ.Nebeneffekte führen in der Reihenfolge aus.Der Prozess beginnt anschließend erneut mit der Auswertung von cond-expression.

    • Wenn cond-expression weggelassen wird, wird cond-expression echte eingestuft, und Ausführungserträge genau als im vorherigen Absatz beschrieben.Eine for-Anweisung ohne ein cond-expression-Argument endet, wenn nur eine break oder return-Anweisung innerhalb des Anweisungstexts ausgeführt wird oder wenn goto (zu einer Anweisung mit Marke außerhalb des for-Anweisungstexts) ausgeführt wird.

    • Wenn cond-expressionfalse (0) ist, beendet wird for Ausführung der - Anweisung und der wird die Steuerung an die nächste Anweisung im Programm.

Eine for-Anweisung beendet wird, auch wenn break, goto oder return-Anweisung innerhalb des Anweisungstexts ausgeführt wird.Eine continue-Anweisung in einer for-Schleife wird loop-expression ausgewertet werden.Wenn eine break-Anweisung innerhalb einer for-Schleife ausgeführt wird, wird loop-expression ausgewertet oder nicht ausgeführt.Diese Anweisung

for( ;; )

ist die übliche Methode, eine Endlosschleife zu erzeugen, die mit break, goto oder return-Anweisung nur beendet werden kann.

Code

In diesem Beispiel wird die for-Anweisung:

// c_for.c
int main()
{
   char* line = "H e  \tl\tlo World\0";
   int space = 0;
   int tab = 0;
   int i;
   int max = strlen(line);
   for (i = 0; i < max; i++ ) 
   {
      if ( line[i] == ' ' )
      {
          space++;
      }
      if ( line[i] == '\t' )
      {
          tab++;
      }
   }

   printf("Number of spaces: %i\n", space);
   printf("Number of tabs: %i\n", tab);
   return 0;
}

Ausgabe

Number of spaces: 4
Number of tabs: 2

Siehe auch

Konzepte

Anweisungen (C)