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