Warum ist der Wert von int d 25 und nicht 26 nach dem Ausführen des folgenden Code-Snippets?Seltsame Antwort nach der Ausführung von n ++
int n = 20;
int d = n++ + 5;
Console.WriteLine(d);
Warum ist der Wert von int d 25 und nicht 26 nach dem Ausführen des folgenden Code-Snippets?Seltsame Antwort nach der Ausführung von n ++
int n = 20;
int d = n++ + 5;
Console.WriteLine(d);
n++
ist der "post-increment operator", der nur den Wert nach inkrementiert Der Anfangswert wurde in der umgebenden Expression verwendet.
Ihr Code entspricht:
int d = n + 5;
n = n + 1;
zu erhöhen, wird der Wert vor seinen Wert verwendet, verwenden ++n
, die Pre-Inkrementoperator.
+1 zum Ausbrechen der äquivalenten surgarless Syntax. –
Weil Sie ++n
verwenden müssen den erhöhten Wert in diesem Ausdruck zu verwenden.
See, in dem Ausdrucksbaum ist es nicht n
erhöht wird und dann in der Zugabe diesen Wert verwenden, da n++
den Wert von n
gibt aber erhöht es für den nächsten Ausdruck verwendet.
Allerdings gibt ++n
tatsächlich den inkrementierten Wert von n
für diesen Ausdruck zurück.
Daher ergibt n++ + 5
25
, während ++n + 5
26
ergibt.
n++
bedeutet, dass die ade nach der Operation ausgeführt wird, also wird zuerst d gleich n+5
und dann n
wird angehoben werden.
Da n++
wird zuerst der Wert zuweisen und nach Beendigung der Iteration wird es, das ist der Grund, inkrementiert seinen 25
Daher geben,
int d= n++ + 5;
als
interpretiert wirdint d = n + 5;
warum downvote ?????? – Neel
Deinetwegen verwenden Postfix
int d = n++ + 5;
ausdrücken, wo Compiler ersten Wert d zuweisen, aber in den folgenden
int d = ++n + 5;
Du hast d'wird s Wert 26
++
: post Schritt Operator.
Das Ergebnis des Operators post fi x ++ ist der Wert des Operanden.Nachdem das Ergebnis erhalten wird, wird der Wert des Operanden
Daher inkrementiert
int d= n++ + 5;
als
int d = n + 5;
nach der Ausführung der oben interpretaion interpretiert wird. n
wird um 1 inkrementiert.
möglich duplikat von [Was ist der Unterschied zwischen ++ i und i ++] (http://stackoverflow.com/questions/24853/what-is-the-difference-between-i-and -i) –
Siehe auch: https://communities.coverity.com/blogs/development-testing-blog/2013/09/24/cc-and-c –