i++和++i到底应该怎么算,算完后各自的i是多少。同样i--和--i怎么算?
关键看i,在前面就是先取值再自增。
取值之后就是这个数了嘛,在加都不管用了,只能等下一次循环。
就像高考成绩出来之后,你多少奖项都是浮云,考差了就复读吧。
int a=10;
printf("%d\n",a++); //这一步a先取值,再自加1。也就是说这在这一个输出里,a先输出10这个数再自加1。
printf("%d\n",++a); //由于上一步a加了1变成11,这一步得由11加1再输出,所以就是12。如果它还是a++,则输出11。
i++ :先取i的值,然后i加1
++i :先把i加了1,然后取值
编一下试试你就明白了
如果int i=1;
int a=i++;
则a取i的值,i取i自增1后的值,即a=1,i=2.
如果int i=1;
int a=++i;
则a取i自增1后的值,i也取i自增1后的值,即a=2,i=2
i++是i先取i的值在加1
++i是先i+1再去i加了1后的值