1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Inkrement/Dekrement/Spezielle Operatoren

  • Ivy
  • 28. November 2006 um 14:57
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Ivy
    Punkte
    4.920
    Beiträge
    889
    • 28. November 2006 um 14:57
    • #1

    So. Ich kenn mich grad mit den Inkrement- und Dekrementoperatoren net so aus.

    ICh weiß, dass ++x den Wert zuerst erhöht und dann gleich mit dem neuen Wert weitergemacht wird.
    Bei x++ wird zunächst mit dem alten Wert weitergerechnet und erst bei neuem Durchlauf der neue Wert genommen

    Aber bei dem Bsp check ichs einfach net:

    int x = 0, y;
    y = x++;
    cout << x << ',' << y; // Ausgabe: 1,0
    x = --y;
    cout << x << ';' << y; // Ausgabe: -1,-1


    Meiner Meinung nach (so wie ichs verstanden hätte) wäre die Ausgabe beim ersten: 0,0
    und beim zweiten: -1, -1

    Wo liegt mein Denkfehler?

  • sauzachn
    Punkte
    3.101
    Beiträge
    606
    • 28. November 2006 um 15:00
    • #2

    int x=0,y;
    y=x++;
    Lange geschrieben: y=x;x+=1;

    Daher: x=1,y=0

    Jetzt:
    int x=1,y=0;
    x=--y;
    Lange geschrieben:x=y-1;y-=1;

    Also: x=-1,y=-1;

    "und erst bei neuem Durchlauf der neue Wert genommen" --> Es hat nix mit Durchläufen (z.b. bei Schleifen zu tun). Es geht hier rein um Auswertung von Ausdrücken, nicht um andere Effekte.

  • Ivy
    Punkte
    4.920
    Beiträge
    889
    • 28. November 2006 um 15:04
    • #3
    Zitat von sauzachn

    int x=0,y;
    y=x++;
    Lange geschrieben: y=x;x+=1;

    Daher: x=1,y=0


    okay, genau das hab ich net checkt. danke

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum