Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
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.
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