回覆列表
-
1 # yidtl3039
-
2 # 我是阿嘛
如果說
int i= 0;
int j = i++;與int j = ++i;那顯然是有你理解的區別
也就是字首和字尾自增的區別在於運算子返回值,而運算之後的變數值都是原先的變數值+1這也是毫無疑問的。
所以在你寫的for迴圈裡,我們因為沒有用到自增運算子的返回值,故沒有區別
不過如果寫成for (i = 0; i++
“此時到下一迴圈是用1還是用2;實際上是用2,但書上不是說先用當前值在加1”對於這句話,你要理解所謂的“用”僅僅在i++這一個語句中,當這個語句執行完了,它也就用過了,那麼i的值已經是i+1了。這裡牽扯到一個賦值生效的概念,叫什麼我忘記了。。。不過請千萬不要小看“賦值”這個看似理所應當的東西,實際上在某種程度這是程序式程式設計語言的核心
如果說int i= 0;int j = i++;與int j = ++i;那顯然是有你理解的區別也就是字首和字尾自增的區別在於運算子返回值,而運算之後的變數值都是原先的變數值+1這也是毫無疑問的。所以在你寫的for迴圈裡,我們因為沒有用到自增運算子的返回值,故沒有區別不過如果寫成for (i = 0; i++