kostenloser Webspace werbefrei: lima-city


Befehle

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    h******u

    Hi

    unterscheidet sich der Befehl

    j = (i = 1);

    von dem Befehl

    j = i = 1;

    ??

    Ich dachte n?mlich, dass beim 2ten Befehl i in j reingeschrieben wird, ohne, dass zuerst i auf 1 gesetzt wird, aber als ich es ausprobiert habe, waren beide gleich...

    Gibts da wirklich kein Unterschied bei??
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. du meinst, wenn
    i = 2;
    j = i = 1;
    dann sind j und i beide 1?
  4. Autor dieses Themas

    h******u

    egal worauf an i stellt am anfang, aber kommen bei beiden befehlen immer 1 raus?

    wenn ja, dann unterscheiden sich die befehle ja gar nicht, oder?
  5. Da kannst du auch gleich j=1 schreiben...

    wenn du j = i machst, und dann i als 1 definierst, dann ist es klar das 1 rauskommt!
  6. 0******a

    Normalerweise benutzt man Klammern, um die Reihenfolge bei Operatoren, die verschiedene Wertigkeiten haben, in der gew?nschten Reihenfolge vom Compiler abarbeiten zu lassen. Das macht jedoch nur Sinn, wenn die Wertigkeit der Operatoren zu einem anderen Ergebnis als dem gew?nschten f?hren w?rde.
    In diesem Fall sind die Klammern v?llig ?berfl?ssig, da der Compiler eh schon genau das macht, was die Klammern andeuten.
    In C werden Operationen von rechts nach links ausgef?hrt. Schreibst du also
    j = i = 1;
    wird erst i auf 1 gesetzt und dann wird j der gleiche Wert wie j zugewiesen.
    j = (i = 1);
    ist in diesem Fall genau das Gleiche.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!