In/Dekrementierung in C < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 20:35 So 17.02.2008 | Autor: | polyurie |
Aufgabe | Welchen Werte haben nach der Ausführung der Programmzeilen die Werte a,b,c?
int a,b,c;
a=3;
b=++a*3;
c=a++*3;
Ergeb: b=12, c=12, a=5 |
Hi,
bin gerade dabei mein Skript durchzuarbeiten und auf das obige Beispiel gestoßen. Ich versteh aber nicht, wie die Ergebnisse zustande kommen.
Für b rechnet er doch b=(3+1)*3=12 gut
Für c müsste er dann doch rechnen c=(4*3)+1=13 oder?
Wäre super wenn mir jemand helfen könnte!!
Danke!!
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:41 So 17.02.2008 | Autor: | rainerS |
Hallo!
> Welchen Werte haben nach der Ausführung der Programmzeilen
> die Werte a,b,c?
>
> int a,b,c;
> a=3;
> b=++a*3;
> c=a++*3;
>
> Ergeb: b=12, c=12, a=5
> Hi,
> bin gerade dabei mein Skript durchzuarbeiten und auf
> das obige Beispiel gestoßen. Ich versteh aber nicht, wie
> die Ergebnisse zustande kommen.
>
> Für b rechnet er doch b=(3+1)*3=12 gut
und danach hat a den Wert 4.
> Für c müsste er dann doch rechnen c=(4*3)+1=13 oder?
Nein, a++ bedeutet: nimm den aktuellen Wert von a und rechne damit weiter. Außerdem (und unabhängig davon) erhöhe den Wert von a um 1. Also hat a immer noch den Wert 4 und wird erst hinterher um 1 erhöht.
Viele Grüße
Rainer
|
|
|
|