Warum funktioniert die for-schleife nicht mir ==
-
hi. ich habe eine for-schleife geschrieben, die mir einen text ausgibt, allerdings funktioniert ds so nicht.
void gebeaus() { for(int i = 1;i==5;++i) //i==5 scheint das Problem zu sein,mit i<=5 gehts. Warum??? cout << "ausgeben\n"; } int main() { gebeaus(); cout << endl; return 0; }
Danke
-
for-Schleife:
for( Laufvariable; Abbrechen wenn Bedingung false; Irgendwas das nach dem Schleifendurchgang gemacht werden soll ) { }
i=1 1==5 true oder false?
-
Ahhh oh man richtig. I ist beim ersten durchlauf ==1, also ist i == 5 false und die schleife wird nicht durchlaufen. Ich interpretiere die schleifen Bedingung immer als eine Art if.
Also wenn i==5, dann abruch, gehe aber davon aus, das die schleife bis dahin 5 mal durchläuft.
Ich werds noch lernen...
Danke
-
Kannst natürlich auch die Logig im Kopf "umdrehen".
for-Schleife: for( Laufvariable; Nächsten Schleifendurchlauf durchführen wenn Bedingung true; Irgendwas das nach dem Schleifendurchgang gemacht werden soll ) { }
-
In vielen büchern wird häufig der Begriff "abbruchbedingung" verwendet.
Ich finde diese Wortwahl sehr verwirrend, denn ich dachte immer, wenn i==5 die "abbruchbedingung" ist, heißt das, wenn i den Wert 5 erreicht hat, breche die schleife ab.Nunja, jetzt muss ich diesen Begriff wieder aus meinem Kopf kriegen.
Danke
-
robertko schrieb:
Ich finde diese Wortwahl sehr verwirrend, denn ich dachte immer, wenn i==5 die "abbruchbedingung" ist, heißt das, wenn i den Wert 5 erreicht hat, breche die schleife ab.
Stimmt, verwirrend. Ich denk einfach:
- Weitermachen wenn Bedingung true.
- Abbrechen wenn Bedingung false.
-
oder du tust for die bedingung n ! - Zeichen, dann gehts auch
-
Ich würde es einfach Laufbedingung oder einfach nur Bedingung nennen.