Frage zu if - else Struktur

Gast #6378647
Lesenswert?

Mein Beispiel:
1
x=1;
2
if (x==1){
3
x=0;
4
}
5
else {
6
tue etwas anderes;
7
}

"etwas anderes" soll ja nur ausgeführt werden, wenn die if-Bedingung 
nicht zutrifft. was aber, wenn, wie hier, die Bedingungen sich innerhalb 
der if-Anweisung ändern? Wird "etwas anderes" dann doch innerhalb der 
aktuellen Schleife ausgeführt oder erst in der nächsten?
Gast #6378655
Lesenswert?

Sven schrieb:

> Wird "etwas anderes" dann doch innerhalb der
> aktuellen Schleife ausgeführt oder erst in der nächsten?

Erst in der nächsten. Die Entscheidung fällt ja bei der Auswertung durch 
das if. Was danach passiert, hat keinen Einfluss mehr auf den Ablauf 
innerhalb der Kontrollstruktur. Erst beim nächsten Durchlauf, denn da 
wird ja erneut die Bedingung geprüft.
Gast #6378827
Lesenswert?

dave4 schrieb:
> Im Beispiel oben wird else niemals aufgeführt weil x vor dem Statement
> immer auf 1 gesetzt wird.

Dann hast Du entweder die Frage nicht gelesen oder nicht verstanden.

Es handelt sich hier ja um keine Funktion oder Programm, sondern um ein 
Fragment. Und für einen Anfänger (aus der Frage folgend) ist die Frage 
sehr präzise, ja vorbildlich gestellt.
Gast #6378859
Lesenswert?

and his name is john cena schrieb:
> Und wenn es volatile ist und nach dieser Zuweisung irgenwie "extern" auf
> einen Wert !=1 gesetzt wird?

Dann ist jedenfalls das Zeitfenster in dem eine "externe" Beeinflussung 
möglich wäre minimal, weil die Anweisungen zum Speichern (nach der 
Zuweisung) und zum Laden (für den Vergleich) höchstwahrscheinlich direkt 
aufeinanderfolgen werden.

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