Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de for instructie kunt u een opgegeven aantal keren een instructie of samengestelde instructie herhalen. De hoofdtekst van een for instructie wordt nul of meer keer uitgevoerd totdat een optionele voorwaarde onwaar wordt. U kunt optionele expressies in de for instructie gebruiken om waarden te initialiseren en te wijzigen tijdens de uitvoering van de for instructie.
Syntaxis
iteration-statement:
for
(
init-expression
opteren;cond-expressionopteren;loop-expressionopteren)statement
Uitvoering van een for instructie gaat als volgt:
De
init-expression, indien van toepassing, wordt geëvalueerd. Hiermee geeft u de initialisatie voor de lus op. Er is geen beperking voor het typeinit-expression.De
cond-expression, indien van toepassing, wordt geëvalueerd. Deze expressie moet een rekenkundig of aanwijzertype hebben. Deze wordt vóór elke iteratie geëvalueerd. Er zijn drie resultaten mogelijk:Als
cond-expressiondat het geval is (niet-nul),statementwordt uitgevoerd.loop-expressionAls dat het geval istrue, wordt deze geëvalueerd. Deloop-expressionwaarde wordt na elke iteratie geëvalueerd. Er is geen beperking voor het type. Bijwerkingen worden op volgorde uitgevoerd. Het proces begint vervolgens opnieuw met de evaluatie vancond-expression.Als
cond-expressionu dit weglaat,cond-expressionwordt deze als waar beschouwd en wordt de uitvoering precies uitgevoerd zoals beschreven in de vorige alinea. Eenforinstructie zondercond-expressionargument wordt alleen beëindigd wanneer eenbreakofreturninstructie in de hoofdtekst van de instructie wordt uitgevoerd of wanneer eengoto(naar een gelabelde instructie buiten de hoofdtekst van deforinstructie) wordt uitgevoerd.Als
cond-expressiondit (0) isfalse, wordt de uitvoering van deforinstructie beëindigd en wordt het besturingselement doorgegeven aan de volgende instructie in het programma.
Een for instructie wordt ook beëindigd wanneer een break, gotoof return instructie in de hoofdtekst van de instructie wordt uitgevoerd. Een continue instructie in een for lus zorgt ervoor dat loop-expression deze wordt geëvalueerd. Wanneer een break instructie binnen een for lus wordt uitgevoerd, loop-expression wordt deze niet geëvalueerd of uitgevoerd. Deze instructie
for( ; ; )
is de gebruikelijke manier om een oneindige lus te produceren, die alleen kan worden afgesloten met een break, gotoof return instructie.
Voorbeeld
In dit voorbeeld ziet u de for instructie:
// 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;
}
Uitvoer
Number of spaces: 4
Number of tabs: 2