C语言中 p++ 和 ++p的区别

p++和++p

#include<stdio.h>
int main(){
    for(int p=0;p<9;p++){
        printf("--%d",p);
    }
    printf("\n");
    for(int p=0;p<9;++p){
        printf("--%d",p);
    }
    printf("\n");
}

--0--1--2--3--4--5--6--7--8
--0--1--2--3--4--5--6--7--8
Program ended with exit code: 0

//结果都一样

++p更快,因为编译器不需要保存一个临时变量保存p,当你做一个非常非常非常大的循环的时候,可能会体会到这一点速度差异

p++和++p的区别

#include<stdio.h>
int main(){
    int p=0;
    int q=++p;
    p=0;
    int o=p++;
    printf("q=%d p=%d",q,p);
    printf("\n");
    printf("o=%d p=%d",o,p);
    printf("\n");
    return 0;
}

//output
q=1 p=1
o=0 p=1
Program ended with exit code: 0

p++:先引用后增加,先在p所在的表达式中使用p的当前值,后让p加1
++p:先增加后引用,让p先加1,然后在i所在的表达式中使用i的新值


返回笔记列表
入门小站