2 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
a++
是先返回值在進(jìn)行本身運(yùn)算的++a
是先進(jìn)行本身運(yùn)算在返回值的
所以這個(gè)表達(dá)式(a++) + a;
運(yùn)算邏輯為: 先返回(a++)
的值為 a
等于 1
,然后在進(jìn)行 ++
運(yùn)算這時(shí)a=2
所以c=3
;
如果你的表達(dá)式為(++a) + a;
那么結(jié)果就為4
了

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
c = (a++) + a is equivalent to the following:
var t1 = a;
a++;
var t2 = a;
c = t1 + t2;
In which t1 is 1 and t2 is 2, which is leading to the result 3.
And if you write the code like c = (++a) + a, it will be interpreted as the following:
a++; // or more precisely, ++a
var t1 = a;
var t2 = a;
c = t1 + t2;
And you will get 4;
添加回答
舉報(bào)