close

int a = 1,b ;

b=a++;

print出來b是等於 1 ,a=2

----

int a = 1,b;

b=++a;

print出來a是等於 2 ,b=2

 

差異一般是的說法a++ 是先傳回a 值 在把 a+1  

                        ++a 是先把a+1 在傳回 a值

 

實際上運作是 b=a++

等號右邊要先運算完成後,才會傳值給左邊(b),所以a++會先把a這個值暫存起來,在運算++這部份(也就是a+1) ++部份運算完成後(a+1=2),將2指給a

然後把a值傳給b !!!但是這邊傳給b的值是一開始暫存下來的值!! 所以b得到的值是"1" 並不是"2"。

arrow
arrow
    全站熱搜

    mmfily 發表在 痞客邦 留言(0) 人氣()