c, Do-While Schlaufe mit Mehrfachbedingung

OP #2376454
Lesenswert?
• ▲
▼
Hallo!

Ich schreibe ein c Programm mit uVision von Keil. Meine Frage:
1
while((crash <= 1) && (movingsense == 1) && (l1 <= chuteway1));

Wird dies funktionieren? Bei meinem Programm wird die Schlaufe immer vor 
der Erfüllung der Bedingungen beendet!

Danke und Gruss!

M.B.
#2376463
Lesenswert?
• ▲
▼
M. B. schrieb:


>
1
> while((crash <= 1) && (movingsense == 1) && (l1 <= chuteway1));
2
>
>
> Wird dies funktionieren?

Wenn die Variablen sauber volatile sind, und die Bedingung an sich 
stimmt, dann funktioniert das auch.

> Bei meinem Programm wird die Schlaufe immer vor
> der Erfüllung der Bedingungen beendet!

Dann wird wohl auch die Bedingung nicht zutreffen.
In deinem Fall müssen alle 3 Einzelbedingungen zutreffen, damit die 
Schleife weiterläuft. Ist auch nur eine davon nicht erfüllt, endet die 
Schleife.

Die Erfahrung zeigt, dass wir Menschen im täglichen Leben die Begriffe 
UND und ODER wie wild durcheinandermischen und trotzdem verstehen uns 
die Anderen. Bei einem Computerprogramm muss man da aber vorsichtig 
sein. Nicht jedes umgangssprachliche UND findet sich auch im Programm 
als && wieder.
-> Also nochmal über die Bedingungen und deren Verknüpfung nachdenken:

die while Schleife soll laufen, solange die 3 Einzelbedingungen allesamt 
erfüllt sind. Die Einzelbedingungen sind .....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren