x=x+1,x+=1,x++的區別


x=x+1,執行順序如下:

  1. 讀取右x的地址
  2. x+1
  3. 讀取左x的地址
  4. 將右表達式的值傳遞給左x

【注】編譯器不會認為左右x的地址相同

【注】該表達式不會強制轉換,且效率最低

1 short x=86;
2 x=x+1;//編譯器會出錯,因為右邊相加后是int型

x+=1,執行順序如下:

  1. 讀取x的地址
  2. x+1
  3. 將得到的值傳給x(因為x的值已經讀出)

【注】會強制轉換,效率其次

1 short x=86;
2 x+=1;//編譯正確

x++,執行順序如下:

  1. 讀取x的地址
  2. x自增1

【注】x++為遞增運算,其效率最高


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM