Bootstrap

一篇文章解决前缀和后缀自增以及前缀和后缀自减的区别

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运行效率更高一点

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;