variable++ oder ++variable ?
Michael C.
- programmiertechnik
0 Scooter0 Rouven
0 Tobias Kloth
Guten Tag Forum.
Man kennt ja bei vielen Programmiersprachen die Möglichkeit eine Variable zu pre- bzw. zu postinkremieren (hoffe man kann das so sagen)... Aber wo ist da nun der Unterschied? Sicher, der jeweilige Compiler bzw. Interpreter wird sicherlich intern unterschieldich vorgehen, aber das Resultat bleibt doch das selbe, oder irr ich mich da? Jedenfalls hab ich bisher keinerlei Unterschied bemerken können.
Drum nun meine Frage, kann den Unterschied eventuell jemand anhand eines kleinen Code-Beispiels (in Perl, C oder PHP) mir darlegen? ...Danke schonmal im Voraus und einen angenehmen Tag.
-Michael-
Hi,
der unterschied wird nur bei Zuweisungen deutlich.
i = 0
var a = ++i;
--> a == 1; i == 1;
i = 0;
var a = i++;
--> a == 0; i == 1;
Scooter
Tag,
man kann es auch anhand von Array-Elementen beschreiben (nur als Ergänzung zu deinem Beispiel):
var a = ['a', 'b', 'c', 'd'];
var i = 1;
var mychar1 = a[++i]; // mychar1 = 'b'
var mychar2 = a[i++]; // mychar2 = 'a'
MfG
Rouven
Hallo,
var a = ['a', 'b', 'c', 'd'];
var i = 1;
var mychar1 = a[++i]; // mychar1 = 'b'
var mychar2 = a[i++]; // mychar2 = 'a'
Wobei dein mychar2 jetzt aber auch 'b' ist, da i ja nach der Zuweisung auf mychar1 auf 2 gesetzt wurde. (Ist schon ok, ich weiß wie du es gemeint hattest.)
Viele Grüße,
Stefan
Verdammt! Das ist schon die zweite Unzulänglichkeit meinerseits am heutigen Tage.
Ich muss mehr schlafen...
MfG
Rouven
Hallo,
var a = ['a', 'b', 'c', 'd'];
var i = 1;
var mychar1 = a[++i]; // mychar1 = 'b'
var mychar2 = a[i++]; // mychar2 = 'a'Wobei dein mychar2 jetzt aber auch 'b' ist, da i ja nach der Zuweisung auf mychar1 auf 2 gesetzt wurde. (Ist schon ok, ich weiß wie du es gemeint hattest.)
Viele Grüße,
Stefan
Hi,
noch ein Fehler:
i muss mit 0 initilisiert werden, damit es stimmt, wenn man von dem anderen Fehler absieht.
Scooter
Hallo
noch ein Fehler:
i muss mit 0 initilisiert werden, damit es stimmt, wenn man von dem anderen Fehler absieht.
...heut ist nicht mein Tag. Wieder mal zu lange in Basic/VBScript programmiert...
MfG
Rouven
Hallo Michael,
Drum nun meine Frage, kann den Unterschied eventuell jemand anhand eines kleinen Code-Beispiels (in Perl, C oder PHP) mir darlegen?
http://www.php.net/language.operators.increment sollte helfen.
Grüße aus Nürnberg
Tobias