Forum: Mikrocontroller und Digitale Elektronik Frage zu while


von Wolfgang (Gast)


Lesenswert?

die Schleife

int var =1;
while (var <1)
var=var +1;

bedeutet m. W., dass die Schleife solange durchlaufen wird, bis die
Bedingung (var <10) unwahr wird.
Was bedeutet aber while(1)? --> Endlosschleife
Gibt es auch while(0)?

Wolfgang
von AVR-User (Gast)


Lesenswert?

>Was bedeutet aber while(1)? --> Endlosschleife
korrekt

>Gibt es auch while(0)?
Ja macht aber keinen Sinn. Übrigens ist alles != 0 -> wahr.
von Thomas B. (yahp) Benutzerseite


Lesenswert?

> int var =1;
> while (var <1)
> var=var +1;
>
> bedeutet m. W., dass die Schleife solange durchlaufen wird, bis die
> Bedingung (var <10) unwahr wird.
> Was bedeutet aber while(1)? --> Endlosschleife
> Gibt es auch while(0)?

Eine while-Schleife wird solange durchlaufen, wie die Bedingung WAHR 
ist. Die Prüfung erfolgt vor dem Ausführen des Schleifenkörpers. While 
(0) wird also nie ausgeführt *. While (1) ist eine Endlosschleife. 
Obiger Fall kommt also nicht zur Ausführung.


*) Gilt für Sprachen, in den Integers als Boolsche Größen fungieren 
können.
von Wolfgang (Gast)


Lesenswert?

<while (1) ist eine Endlosschleife.
Diese Antwort hatte ich vorwegnehmen wollen.
ich wollte gern wissen, was die Bedingung (1) in Worten bedeutet

Wolfgang
von crazy horse (Gast)


Lesenswert?

1 heist eben nicht null und damit wahr. Du könntest auch schreiben
while (123) oder
while (234567)
so ungefähr alles, aber nicht 0.
von Wolfgang (Gast)


Lesenswert?

aha, (0) steht für unwahr, (1) (oder 123 ...) steht für wahr
man nimmt sozusagen die Bedingung schon vorweg. richtig?
Wolfgang
von Jemand (Gast)


Lesenswert?

Sehr richtig. Noch ein Beispiel für Bedingungen:

int i = 1;
bool a = (i > 10);
bool b = (i < 10);

while(a){};  // niemals durchlaufen
while(b){};  // Endlosschleife
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.