per l'istruzione (C)
L'istruzione di for consente di eseguire un'istruzione o un'istruzione composta un numero specificato di volte.Il corpo di un'istruzione di for viene eseguito zero o più volte finché una condizione facoltativa non è false.È possibile utilizzare espressioni facoltative all'interno di un'istruzione di for per inizializzare e modificare i valori durante l'esecuzione di un'istruzione di for.
Sintassi
- specifica istruzione:
for ( init-expressionopt ; cond-expressionopt ; loop-expressionopt )statement
Esecuzione di procedere di un'istruzione di for come segue:
init-expression, se presente, viene valutato.Indica l'inizializzazione del ciclo.Non c'è alcuna restrizione sul tipo di init-expression.
cond-expression, se presente, viene valutato.L'espressione deve disporre dell'aritmetica o tipo puntatore.Viene valutata prima di ogni iterazione.Tre risultati possibili sono:
Se cond-expression è true (diverso da zero, statement viene eseguito; quindi loop-expression, se presente, viene valutato.loop-expression viene valutato dopo ogni iterazione.Non c'è alcuna restrizione sul tipo.Gli effetti collaterali verranno eseguite in ordine.Il processo riavviare con la valutazione di cond-expression.
Se cond-expression viene omesso, cond-expression viene considerato procedere di esecuzione e true esattamente come descritto nel paragrafo precedente.Un'istruzione di for senza un argomento di cond-expression termina solo quando un'istruzione di return o di break interno del corpo dell'istruzione viene eseguito, o quando goto (a un'istruzione contrassegnato dal corpo dell'istruzione for ) viene eseguito.
Se cond-expression è false (0), l'esecuzione di un'istruzione di for termina e del controllo passa all'istruzione successiva del programma.
Un'istruzione di for e termina quando break, goto, l'istruzione o di return interno del corpo dell'istruzione viene eseguito.Un'istruzione di continue in un ciclo di for modo loop-expression a essere valutato.Quando un'istruzione di break viene eseguito in un ciclo di for, loop-expression non viene valutato o non eseguito.Questa istruzione
for( ;; )
è la modalità consueta produrre un ciclo infinito che può essere uscitoe solo con break, goto, l'istruzione o di return.
Codice
In questo esempio vengono illustrate l'istruzione di for :
// 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;
}
Output
Number of spaces: 4
Number of tabs: 2