-3
A
回答
4
這無疑被回答過了,但無論如何...
他們在如何改變的值不同,並他們如何返回結果。
前兩個+=
和=+
的行爲方式是第一個增量變量,另一個設置變量。他們不相關。注意下面的代碼:
// +=
x = 1;
printf(x += 1); // outputs 2, the same as x = x+1
printf(x); // outputs 2
// =+
x = 1;
printf(x =+ 1); // outputs 1, the same as x = 1;
printf(x); // outputs 1
接下來的兩,++x
和x++
,在順序不同的功能。 ++x
將使您的變量增加1並返回結果。 x++
將由1
// ++x
x = 1;
printf(++x); // outputs 2, the same as x = x+1
printf(x); // outputs 2
// x++
x = 1;
printf(x++); // outputs 1
printf(x); // outputs 2
他們是for
循環和while
圈最有用返回結果和增量。
在速度方面,++x
被認爲是快了很多比x++
因爲x++
需要創建一個內部的臨時變量來存儲值,增加主變,但返回臨時變量,基本上都是使用更多的操作。我一個looong時間以前就學會這一點,我不知道這是否仍然適用
0
讓我們可視化首當其衝,+ =和= +。
因爲 「+」 是動作, 「=」 是指配,所以
+ =是添加BEFORE分配
= +是另一種方式:後添加分配
同樣,
++ x是 「增量則返回」
x ++是「return then increase」
相關問題
- 1. 使用x-path「|」運算符
- 2. int * x []和int(* x)[]之間的區別?
- 3. null == x和x == null之間的區別?
- 4. int [] x;有什麼區別?和int x [];?
- 5. float x []與float [] x有什麼區別?
- 6. 「x!」有什麼區別和「x」?
- 7. `* x`和`x *`是否有區別?
- 8. IsNull(x)和x =「」之間有區別嗎?
- 9. (void **)&x和(void *)x有什麼區別?
- 10. 在java中x ++和++ x有區別嗎?
- 11. 'x'和'x'有什麼區別?
- 12. 字符串X,Y之間的區別;和字符串X,字符串Y;
- 13. ,system.out.print(x +「+」+ x +「=」)中的plus運算符和x的功能是什麼?
- 14. ggplot2中的「+」運算符與magrittr中的「%>%」運算符有什麼區別?
- 15. 如果x是一個指針,x和x的區別是什麼?
- 16. $('x> y'),$('y','x')和$('x y')之間有什麼區別?
- 17. 對於1-D`X`,`X [n]`和`X [...,n]`有什麼區別?
- 18. 減法運算符號和符號之間的區別
- 19. 調用&(x,y)按位運算符
- 20. X宏生成雜散運算符
- 21. 運算符x ++;和++ x;對於int.哪個更快?爲什麼?
- 22. java運算符優先級y = x +(x = 10);
- 23. SQL中的IN運算符和=運算符有什麼區別?
- 24. ==與Python中的運算符的區別
- 25. C++中+ =和= +運算符的區別?
- 26. 「#define STR(x)#x」和「#define STR(x)VAL(x)」與「#define VAL(x)#x」之間的區別是什麼?
- 27. 單(&)和雙(&&)&符號二元運算符有什麼區別?
- 28. 比較運算符和邏輯運算符有什麼區別?
- 29. 當我<x和範圍(x)中的i之間的區別?
- 30. 「導入X」和「從X導入*」之間的區別?
用什麼語言? – 2015-02-06 03:51:45
@remyabel:我非常肯定這些操作員會表現出相同的語言。 – nxasdf 2015-02-06 04:10:40