Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Kontrollstrukturen switch do-while

9.3 while

Die while Schleife erlaubt es, eine Bedingung zu prüfen und Anweisungen so oft zu wiederholen, wie die Bedingung einen Wert ungleich 0 ergibt. Diese Bedingung wird hinter dem Schlüsselwort while in Klammern angegeben. Da die Bedingung vor dem Schleifendurchlauf überprüft wird, kann es auch vorkommen, daß die Schleife überhaupt nicht durchlaufen wird.

Bei den Anweisungen kann es sich um eine einzelne Anweisung oder einen Block in geschweiften Klammern handeln.

int i;

i = 0;
while (i++ < 5)
{
   printf("i = %d\n",i);
}
i = 0;
while (++i < 5)
{
   printf("i = %d\n",i);
}

Dieses Beispiel zeigt auch die Auswirkung für eine vorangestellten und einen nachgestellten Inkrementoperator.

Mit dieser Schleife können wir jetzt den Cookie Jar ausgeben, nachdem wir den Zeiger auf den Cookie Jar ermittelt haben und schon geprüft haben, ob ein Cookie Jar existiert.

#ifdef __TURBOC__
#include <tos.h>
#else
#ifdef __GNUC__
#include <osbind.h>
#else
#include <tosbind.h>
#endif
#endif
#include <stdio.h>

typedef struct cookie_entry {
   union {
      unsigned long name_long;
      char name_array[4];
   } name;
   unsigned long value;
} CookieEntry;

int main(void)
{  CookieEntry **CookieJarPtr, *CookieJar;
   long OldStack;

   OldStack=Super(0L);
   CookieJarPtr = (CookieEntry**)0x5a0L;
   CookieJar=*CookieJarPtr;
   Super((void *)OldStack);
   if (CookieJar == (CookieEntry *)0)
      printf("Dieses System hat keinen Cookie Jar\n");
   else
   {
      while (CookieJar->name.name_long != 0)
      {
         printf("Name des Cookies: %d\n", CookieJar->name.name_long);
         printf("Wert des Cookies: %d\n", CookieJar->value);
         CookieJar++;
      }
   }
   return 0;
}

Achtung! Damit die Schleife auch terminiert, muß auch mindestens eine Anweisung vorhanden sein, die einen Einfluß auf die Bedingung in dem Schleifenkopf hat. Also z.B. eine Variable, die abgefragt wird, auf einen anderen Wert setzt.


Home Kontrollstrukturen switch do-while


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum