首頁>Club>
13
回覆列表
  • 1 # flashboi

    y=x++相當於,y=x;x=x+1;

    y=(x++)*3相當於:y=x*3;x=x+1;

    這裡加()與不加是一回事,

    因為自加運算子優先於+ - /* % .所以不需要新增()

    寫成y=x++ * 3是等效的.

    這裡講的優先,並不是x先乘3之前自加,而說"++"屬於x

    這在運算前自加,還是運算後自加,取決於"++"號在變數前後的位置.

    所以,優先順序跟乘除優先於加減是完全不同.

    我個人認為,在自加處理時,不要"優先說法"更好.你就認為"++"號屬於某個變數.

    出現了=號的++一定是將兩個賦值表示式組合到一起的.先算那個取決於是前自加還是後加自.如果在前那就先自加,再放到所處位置參加運算.

    (如y= ++x * 3 就相當於: x++; y=x*3;)

    (再如x=5; y=++x+(x+5);就相當於x++; y=x+(x+5);//所以y=17)

    如果在後就先參加運算再自加.

    (y=x++ /4; 就相當於: y=x/4; x++;)

    (再如x=5; y=x++ + (x+5); 就相當於 y=x+(x+5); x++; //所以y=15)

  • 中秋節和大豐收的關聯?
  • 在歷次金融風暴中,傳統行業小微企業如何應對?