Verständnisproblem

ellegance

Mitglied
Hallo, ich habe hier eine Aufgabe mit Lösungen.
Aber ich verstehe nicht, wie die auf diese Werte kommen.
Kann mir da evtl jmd helfen?

Aufgabe:

Welchen Wert liefern die folgenden Ausdrücke? Jeder Ausdruck übernimmt dabei die neuen
Werte für d und e. Schreiben Sie dazu in jede Lücke den enstprechenden Wert von d und e!

1: int d = 1, e = 2;
2: d *= e;
3: d += e++;
4: d -= 3 - 2 * e;
5: e /= (d + 1);

Lösung:

1: d=1 e=2
2: d=2 e=2
3: d=4 e=3
4: d=7 e=3
5: d=7 e=0

Mein Problem:

1: d=1 e=2
2: e = 2 ist klar aber bei d* das ist ja ne Multiplikation warum multipliziert man denn 1*2 wenn da d* steht? ich verstehe das so wenn da d* steht multipliziert man doch d mit sich selbst? :S

3: nun wieder dasselbe Problem wenn d bei 2: = 2 ist und dort d+ steht addiert man d mit sich selbst? dann zu 4? oder addiert man d+e? e++ = 3 ist klar man zählt auf die 2 eine 1.

und bei den anderen halt auch dasselbe Problem. Welche Schritte muss ich denn als erstes tun?

Ich hoffe einer hilft mir dabei.


LG
 
Moin,

Hallo, ich habe hier eine Aufgabe mit Lösungen.
Aber ich verstehe nicht, wie die auf diese Werte kommen.
Kann mir da evtl jmd helfen?

Aufgabe:

Welchen Wert liefern die folgenden Ausdrücke? Jeder Ausdruck übernimmt dabei die neuen
Werte für d und e. Schreiben Sie dazu in jede Lücke den enstprechenden Wert von d und e!

1: int d = 1, e = 2;
2: d *= e;
3: d += e++;
4: d -= 3 - 2 * e;
5: e /= (d + 1);

Lösung:

1: d=1 e=2
2: d=2 e=2
3: d=4 e=3
4: d=7 e=3
5: d=7 e=0

Mein Problem:

1: d=1 e=2
2: e = 2 ist klar aber bei d* das ist ja ne Multiplikation warum multipliziert man denn 1*2 wenn da d* steht? ich verstehe das so wenn da d* steht multipliziert man doch d mit sich selbst? :S

3: nun wieder dasselbe Problem wenn d bei 2: = 2 ist und dort d+ steht addiert man d mit sich selbst? dann zu 4? oder addiert man d+e? e++ = 3 ist klar man zählt auf die 2 eine 1.

und bei den anderen halt auch dasselbe Problem. Welche Schritte muss ich denn als erstes tun?
/QUOTE]
Ist eigentlich ganz simpel:
Die Operatoren *=, +=, -= und /= sind sogenannte Zuweisungsoperatoren!

d *= e: rechnet 1*2 und weist das Ergebnis der Variablen 'd' zu !!
d += e++: der Wert von 'e' (= 2) wird zu 'd' addiert und DANACH wird 'e' inkrementiert! 'd' ist also nun 4 und '3' ist 3
d -= 3 - 2 * e: es wird gerechnet "3 - (2*e)" und da Ergebnis (3 - 6, also -3) von 'd' abgezogen --> 4 - (-3) = 7 !!
e /= (d + 1): es wird gerechnet "d + 1" (= 8) und dann 'e' durch diesen Wert geteilt! 'd' bleibt hierbei ja unverändert und 'e' wird 0, da das Ergebins 0,375 abgerundet als Ganzzahl '0' ergibt


Gruß
Klaus
 

Zurück
Oben