刚看了下自己早前的笔记,发现关于i++和++i的区分的记录,想到自己当时掌握时有点发蒙的情况,并考虑可能很多新手还是会在最初的时候难以搞明白这个问题。所以拿来做自己的第一篇博文。
自增(减)是我们在编程过程中经常使用到的语句,那么对于一个新手来说,该怎样有效的区分前增(减)和后增(减)呢?
对于i++和++i,我们容易看到的最多的说法是:i++是先使用后加1;++i是先加1后使用(同样地,i--是先使用后减1;--i是先减1后使用)——这句话形容的很正确,而且在熟练的人看来,完全是清楚明白,一目了然。可对于有些人来说,这段说明还是有点“绕”,所以不妨试下这么拆解,记忆:
把i++;视为由i;和i+=1(i=i+1);两条语句按序组成。
当自增符在前时(即++i),则拆解成i+=1;i;
当自增符在后时(即i++),则拆解成i;i+=1;(——不管是前增还是后增,执行完毕后的结果都是加了1)
同样地,
--i;=>i-=1;i;
i--;=>i;i-=1;(——执行完毕后的结果都是减了1)
例(以C语言为例):
...
int i = 0,number = 0; //定义变量,并赋初值
while(i < 5)
{
/*number = 2 * i++;*/ //等同于下边的两行
number = 2 * i;
i += 1;
printf("%d\t",number);
}
...
这样也许会在对自增(减)运算的理解消化上有所帮助