Da die Ausdrücke im Schleifenkopf der for-Schleife beliebig sein dürfen, kann der Schleifendurchlauf auch komplexer definiert werden:
for (int k = 0; ((k < 26) & (str[k] != 'g')); k+=2)
// String deklarieren:
char str[]="abcdefghijklmnopqrstuvwxyz";
cout << "Noch kein g gefunden !" <<
endl;
In diesem Beispiel wird die Schleife solange durchlaufen, bis entweder
das Stringende erreicht wird (k==26
) oder bis der Buchstabe 'g'
im String str
gefunden wird (str[k] == 'g'
).
Der Reinitialisierungsausdruck
erhöht in diesem Fall den Laufindex k
um zwei Einheiten, d.h. von
unserem String wird nur jeder zweite Eintrag mit dem Charakter 'g' verglichen.