1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Inkrement/Dekrement/Spezielle Operatoren

  • Ivy
  • 28. November 2006 um 14:57
  • Unerledigt
  • Ivy
    22
    Ivy
    Mitglied
    Reaktionen
    35
    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?

    Wer FU sagt, muss auch T sagen

  • sauzachn
    17
    sauzachn
    Mitglied
    Reaktionen
    51
    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.

    Dipper dipper dii dipper dii dipper dii duuu

  • Ivy
    22
    Ivy
    Mitglied
    Reaktionen
    35
    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

    Wer FU sagt, muss auch T sagen

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung