mikrocontroller.net

Forum: PC-Programmierung For-Schleife (Denkfehler?)


Autor: schlauchsteher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, habe ein einfaches Problem und drehe mich jetzt schon ein bisschen 
im Kreis herum.

Bsp.:
int a=10;
int i;

for(i=0; i<=6; i++)
{
  a--;
}
  //Lösung
  //a = 4
Stimmt die Lösung oder habe ich einen Denkfehler?

Autor: Logiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Stimmt die Lösung oder habe ich einen Denkfehler?

ja

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie oft wird die Schleife durchlaufen?

Sieben mal.

Warum? Weil die Schleife sooft durchlaufen wird, wie i kleiner gleich 
6 ist. Und das ist i bei 0, 1, 2 ... 6.


Also ist das Resultat 3, nicht 4.

Autor: schlauchsteher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das kapiere ich eben nicht.

i 0 1 2 3 4 5 6 --> fertig

a 9 8 7 6 5 4

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schleife wird 7mal durchlaufen und zieht jedesmal 1 von a ab. Wenn 
du da von 10 ausgehend auf 4 kommst, dann solltest du nochmal mit der 
Grundschule ganz von vorne anfangen.

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn i == 6 ist, dann läuft die Schleife weiter.

Sprich:
i 0 1 2 3 4 5 6 7 --> fertig

a 9 8 7 6 5 4 3

Autor: schlauchsteher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, es heißt also solange i kleiner oder gleich 6 ist, wird die Schleife 
ausgeführt. Erst wenn i 7 ist wird sie beendet.


dann wäre also

[c]int a=10;
int i;

for(i=0; i!=6; i++)
{
  a--;
}
  //Lösung
  //a = 4[/]


Solange i nicht gleich 6 ist wird die schleife ausgeführt

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Üblich ist es, statt eines kleiner gleich - Vergleiches einen 
kleiner-als - Vergleich zu verwenden:
int a = 10;
int i;

for (i = 0; i < 6; i++)
{
  a--;
}

Autor: sdfgererwg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, es heißt also solange i kleiner oder gleich 6 ist, wird die Schleife
ausgeführt. Erst wenn i 7 ist wird sie beendet.
ok, es heißt also solange i kleiner oder gleich 6 ist, wird die Schleife
ausgeführt. Erst wenn i 7 ist wird der Schleifenrumpf nicht mehr betreten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.