美文网首页
C语言学习感悟(3)

C语言学习感悟(3)

作者: 一个冬季 | 来源:发表于2018-05-26 12:15 被阅读28次

此次本章是掌握 ++( *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了

相关文章

网友评论

      本文标题:C语言学习感悟(3)

      本文链接:https://www.haomeiwen.com/subject/aehmjftx.html