請詳細解釋在C語言中的++x,x++,--x,x--,-=,

2011-11-25 11:14 am
請詳細解釋在C語言中的++x,x++,--x,x--,-=,*=,/=%= operator
最好給一些例子。謝謝

回答 (2)

2011-11-28 1:27 pm
✔ 最佳答案
1. ++x
"++"係遞增( Increment), 等於將該變量(Variable)加一。
例如 x=2 ,而有另一個整數變量(Integer Variable)"y=3";
如果 y=++x ,即係等於 y=y+1+x ,y 自己先加 1 再加 x ,亦即係 y=6 。

2. x++
好簡單,即係變量加一。例如:
If x=3
x++
即係 x 會將自己加一,即係 x=4 。

3. --x
同"++x"一樣道理,但由加變減(遞減-Decrement);
簡單而言,"--x"即係"先減一,再減 x"。例如:
If x=2, y=3,
y=--x <=> y=y-1-x
So, y=3-1-2=0.

4. x--
同樣地,"x--"意思係"變量減一"。例子:
If x=3,
x--
So, x=4.

5. -=
變量等於變量減去右方,同"x=x-2"一樣意思。例如:
If x=3,
x -= 2 <=> x=x-2
So, x=1.

6. *=
變量等於變量乘以右方。同"x=x*2"一樣意思。例如:
If x=3,
x *= 2 <=> x=x*2
So, x=6.

7. /=
變量等於變量除以右方。 同"x=x/2"一樣意思。例如:
If x=6,
x /= 2 <=> x=x/2
So, x=3.

8. %=
變量等於變量除以右方的餘數 。 同"x=x%2"一樣意思。例如:
If x=5,
x %= 3 <=> x=x%3
So, x=2.
2011-11-27 8:33 pm
首先講++x 同 x++,
佢地既效果大致一樣, 不過傳回值(return value)唔同
例如:
int x = 0;
int i = ++x;
呢個情況底下 i 就等於1, x 亦等於 1
而另一個case:

int x = 0;
int j = x++;
呢個情況底下 x 仍然會係1, 而 j 就係 0
即係x++係傳回未+1既數,而++x就係傳回+左1既數

--x 同 x-- 情況同上面相似,只係將上面所有 + 變做 -
即 x = x - 1;
傳回值亦同上面道理一樣

x -= n 的意思就即係 x = x - n
同樣道理
x += n 即 x = x+n
x *= n 即 x = x*n
x /= n 即 x = x/n
x %= n 即 x = x%n


收錄日期: 2021-04-30 13:24:43
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20111125000051KK00081

檢視 Wayback Machine 備份