Sdílet prostřednictvím


pro výpis (C)

for Příkaz umožňuje opakovat prohlášení nebo složené prohlášení podle zadaného počtu opakování.Těla for dotaz je proveden nula nebo vícekrát, dokud nebude volitelné podmínka NEPRAVDA.Můžete zadat volitelné výrazy v rámci for příkaz k inicializaci a změnit hodnoty během for spuštění příkazu.

Syntaxe

  • Opakování příkazu:
    for( init-expressionopt ; cond-expressionopt ; loop-expressionopt )statement

Provádění for prohlášení probíhá následujícím způsobem:

  1. init-expression, Pokud existuje, je vyhodnocen.Tato hodnota určuje inicializace smyčky.Neexistuje žádné omezení na druhu init-expression.

  2. cond-expression, Pokud existuje, je vyhodnocen.Tento výraz musí být typu aritmetický nebo ukazatel.Je vyhodnocen před každou iteraci.Jsou možné tři výsledky:

    • Pokud cond-expression je PRAVDA (nenulové), statement je proveden; pak loop-expression, pokud existuje, je vyhodnocen.loop-expression Je vyhodnocen po každé iteraci.Není k dispozici žádná omezení jejího typu.Vedlejší účinky se spustí v pořadí.Celý proces potom začne znovu s hodnocení cond-expression.

    • Pokud cond-expression je vynechán, cond-expression je považován za hodnotu true a provádění procesu přesně tak, jak je popsáno v předchozím odstavci.A for výpis bez cond-expression argument ukončí pouze tehdy, když break nebo return je proveden příkaz v těle prohlášení, nebo když goto (označené prohlášení mimo for prohlášení subjektu) je proveden.

    • Pokud cond-expression je false (0), provádění for příkaz ukončí a ovládací prvek předá řízení do dalšího programu.

A for prohlášení také ukončí, když break, goto, nebo return je proveden příkaz v těle prohlášení.A continue prohlášení v for smyčka způsobí, že loop-expression má být vyhodnocen.Při break dotaz je proveden uvnitř for smyčka, loop-expression není vyhodnocena, nebo provedena.Toto prohlášení

for( ;; )

je obvyklý způsob, jak vytvořit nekonečnou smyčku, která může být ukončen pouze s break, goto, nebo return prohlášení.

Kód

Tento příklad ukazuje for prohlášení:

// 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;
}

Výsledek

Number of spaces: 4
Number of tabs: 2

Viz také

Koncepty

Příkazy (C)