先说自增,自增分为前自增和后自增
前自增:++i
后自增:i++
#include<stdio.h>
int main()
{
int i,j,k,m;
i = j = 6;
k = ++i;
m = j++;
printf("i = %d,j = %d,k = %d,m = %d\n",i,j,k,m);
return 0;
}
输出结果是:i = 7,j = 7,k = 7,m = 6
- 前自增整体表达式的值是
i
加1之后的值,个人理解就是i
先自己加1,然后再呈现出来赋给变量k
- 后自增整体表达式的值是
i
加1之前的值,个人理解就是先呈现自己原来的值出来赋给变量m,i
再自己加1 - 前自增和后自增最终都会使
i
的值加1
同理可按照上面所述理解自减中的前自减和后自减
补充
-
使用自增自减能使代码更加精炼,更重要的是自增自减比
i=i+1
和i+=1
这两种模式的运行速度更加快。运行i=i+1
和i+=1
这两种模式时,计算机是先把内存中的数据取出来,在cpu内部的寄存器里面使i
加1,再把这个值赋给内存中的变量i
,而i++
和++i
是直接在cpu中的寄存器里面处理。 -
使用自增自减的时候最好就让它单独成一个语句,尽量避免把它作为一个完整复合语句的一部分使用。