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
 

VfL_Freak

Top Contributor
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
 

Neue Themen


Oben