C语言学习感悟(3)

此次本章是掌握 ++( *p)和( *p)++的区别

int main(void) {
    int a,b,c;
    int *pa,*pb,*pc;
    pa=&a;
    pb=&b;
    pc=&c;
    scanf("%d%d",pa,pb); //2  3
    printf("%d,%d",*pa,*pb); //2  3
    c=a+b;//5
    printf(",%d",*pc);//5
    *pc=a+*pb;//5=2+3
    printf(",%d",c);//5
    c=*pa**pb;//6=2*3
    printf(",%d",*pc);//6
    c=++(*pa)+(*pb)++;//c= 2+1  +   3
    
    //c=++a + b++;
    //D=++a;  a=a+1; D=a;  此时a=3 
    //E=b++;  E=b;  b=b+1;  此时b=4 
    //c=D+E;
    
    printf(",%d",c);//6
    c=(*pa)++ +(*pb)++;
    //c= a++ + b++;
    //D=a++;  D=a; a=a+1;
    //E=b++;  E=b; b=b+1
    //c=D+E  c=7
    printf(",%d",c);//7
    printf(",%d,%d",a,b);// 
    
    
    printf("\n");
    system("pause");
    return 0;
}
++(p)和(p)++的区别.png

我代码里面已经包含了注释,你们一定不要看错了,我的那些分解步骤啊,比如我这些注释

    //c=++a + b++;
    //D=++a;  a=a+1; D=a;  此时a=3 
    //E=b++;  E=b;  b=b+1;  此时b=4 
    //c=D+E;

注意这里面的c的结果是c=D+E,此时的你不要揪着a和b了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 很多时候在我们经历过痛苦,难过的时候都会说自己是这个世界上最倒霉的人,但是在我们经历了之后,过了一段时间或者很长一...
    Duwjj阅读 270评论 0 0
  • 2017年2月11日 星期六 农历正月十五 晴 午后和张老师、忠明、文荣、文荣家宝贝一同去黎里探寻汝家的一块...
    雪江南雪阅读 713评论 0 1
  • 姓名:罗华梅 学校:宜春学院 联系方式:13479742723 #本文参加‘青春’大赛,本人保证本文为本人原创,如...
    淡淡言语阅读 601评论 0 9