Forum: Compiler & IDEs Warum geht er nicht in die for-Schleife??


von Matthias L. (mcl024)


Lesenswert?

Hallo

ich bin absolut neu hier und auch Anfänger im Umgang mit µControllern.
Ich habe folgendes Testrogramm geschrieben (Welches kein Sinn macht). 
Beim Debuggen habe ich das Problem das er einfach nicht in die 
for-Schleife geht. Ich verstehe es einfach nicht. Ich benutze 
AVR-Studio4.

Bitte um Hilfe!!

#include <avr/io.h>
//#include <stdlib.h>
//#include <stdio.h>


//Start des Programms

int main (void)
{
  int count;
  int i;
  count =0;
  for(i=6;i<=0;i--)
  {
    count++;
  }

//Ende des Programms
  for(;;) {
  }
}

von Oliver (Gast)


Lesenswert?

Der Schleifeninhalt wird solange ausgeführt, bis die Bedingung falsch 
wird.

Deine Bedingung  i<=0 ist von Anfang an nicht erfüllt, da i zu Beginn 6 
ist.

Richtig:

  for(i=6;i>=0;i--) oder
  for(i=6;i>0;i--)

je nachdem, wie oft du die Schleife durchlaufen möchtest. Wenn du nur 
zählen willst, ist die Aufwärts-Schreibweise aber eingängiger:

for (i=0;i<6;i++)

Oliver

von Matthias L. (mcl024)


Lesenswert?

Super vielen Dank

Gruss mcl024

von Sven P. (Gast)


Lesenswert?

Pass auch auf den Optimierer auf: Leere Schleifen (z.B. 
delay-Schleifen!) schmeißt der ganz gerne komplett raus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.