Befehle
lima-city → Forum → Programmiersprachen → C/C++ und D
befehl
befehlen
compiler
ergebnis
meinst
normalerweise
operation
operator
recht
reihenfolge
sinnen
unterschied
wertigkeit
-
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?? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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? -
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! -
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage