自增自減這個題能不能詳細解答下,謝謝大俠
int a = 4;
?? ??? ?int b = ++a;
?? ??? ?int c = b++ + --a - --b + ++b;
?? ??? ?int d = b++ + --a - b-- + ++b;
結(jié)果
a=3,b=7,c=10,d=9
int a = 4;
?? ??? ?int b = ++a;
?? ??? ?int c = b++ + --a - --b + ++b;
?? ??? ?int d = b++ + --a - b-- + ++b;
結(jié)果
a=3,b=7,c=10,d=9
2018-07-27
舉報
2018-07-27
a一開始4
第二步:
此時b=a =4+1=5(a直接自增+1)
第三步:
c=5 (b++表示下次使用時+1,此時仍為5)+ 4(a直接自減1,a=5-1) -5(首先b要完成前面的自增+1然后直接-1,b=5+1-1)+ 6(b直接自增+1,b=5+1)
c= 5+4-5 +6=10
第四步:
d=6(b++表示下次使用時+1,此時仍為6) + 3 (a直接自減1,a=4-1)- 7(首先b要完成前面的自增+1然后下次使用時-1,b=6+1)+ 7(首先b要完成上次的自減 -1然后直接自增+1,b=7-1+1)
b=7
d=6+3-7+7=9
2018-07-27
自增和自減其實對于被自增自減的變量本身是沒難度的,變量每自增一次就+1,每自減1次就-1。
主要區(qū)別就在于如果自增或自減完成后要給其他變量使用或者要進行其他運算的時候。這個時候,++變量和變量++返回的結(jié)果就不一樣了,不過只要記得++變量返回的是(變量+1)的結(jié)果,而變量++返回的是變量本身,記得這個規(guī)律就不會弄錯了。自減和自加規(guī)則相同。