Navigation

2.4.2 for-Anweisung

Die Anweisung for ist eine spezielle Laufanweisung. Allg.:
for ( ausdruck1; ausdruck2 ; ausdruck3 )
anweisung

ausdruck1 ist Schleifeninitialisierung
ausdruck2 ist Wiederholungstest (Vergleichsausdruck)
ausdruck3 ist Wiederinitialisierung
Diese for-Anweisung entspricht folgender allg. while-Anweisung:
ausdruck1 ;
while ( ausdruck2) {
anweisung
ausdruck3 ;
}

Bei der for-Anweisung kann jeder beliebige ausdrucki weggelassen werden. Es gilt:
for ( ; ; )
ist eine unendliche Schleife.

BEISPIELE/b242.c: 

#include <stdio.h>
#define M 2
#define N 3
#define R 4

main()                     /* Matrizenmultiplikation */
{  
   int x[M][N] = { {1,2,3} , {4,5,6} };
   int y[N][R] = { {10,20,30,40} , {50,60,70,80} , {90,100,110,120} };
   int z[M][R];
   int i,j,k;
   

   for(i=0;i<M;i++) {
      for(j=0;j<R;j++) {
         z[i][j]=0;
         for(k=0;k<N;k++) {
            z[i][j] += x[i][k] * y[k][j];
         }
         printf("z[%d,%d]=%d   ",i+1,j+1,z[i][j]);
      }
      printf("\n");
   }
}

Wenn in einer for-Schleife mehrere Laufvariablen benötigt werden, findet der Kommaoperator Anwendung:

VERBATIM/b242: 

#define N 100;
...
int i, j;
...
for(i=0,j=N ; i<N ; i++,j--) ...

Navigation