1.前缀自增与后缀自增含义相同的情况
#include <stdio.h>
int main(){
int i=1;
i++; //后缀自增
printf("%d\n",i);
++i;//前缀自增
printf("%d\n",i);
return 0;
}
2前缀自增和后缀自增的区别
#include <stdio.h>
int main() {
int a = 1,b = 1;
int c = a++;
int d = ++b;
printf("c = %d , d = %d\n", c,d);
printf("a = %d , b = %d\n", a,b);
return 0;
}
你会发现d加1了,但是c没有加一
而a和b都加一了
这时候就得引出i++(后缀自增)和++i(前缀自增)的区别了
后缀自增是 先把a的数值给c用,再自增即a的数值加一(如上图)
前缀自增是 先把b的数值加一,再把自增后的值给d(如上图)
3.前缀递减和后缀递减同理
#include <stdio.h>
int main() {
int a = 2,b = 2;
int c = a--;
int d = --b;
printf("c = %d , d = %d\n", c,d);
printf("a = %d , b = %d\n", a,b);
return 0;
}
后缀自减是 先把a的数值给c用,再自减即a的数值减1(如上图)
前缀自减是 先把b的数值减1,再把自减后的值给d(如上图)
4.++i和i++在循环语句里经常用
for(int i=0;i<10;++i ){}
在这里用i++和++i效果一样,只不过++i运行效率更高一点