zoukankan      html  css  js  c++  java
  • *p++、(*p)++、*++p、++*p 的区别

    int a[5]={1,2,3,4,5};
    int *p = a;

    *p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1

    cout << *p++; // 结果为 1

    cout <<(*p++); // 1

    (*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2
    cout << (*p)++; // 1
    cout <<((*p)++) //2
    *++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值

    cout << *++p; // 2
    cout <<(*++p) //2

    ++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
    cout <<++*p; // 2
    cout <<(++*p) //2

    注意,上面的每条cout输出,要单独输出才能得到后面的结果。
  • 相关阅读:
    学习C++的第一天
    2016.12.28
    无主之地
    一种排序
    街区最短问题
    配对类问题
    蛇形填数
    c#unity
    贪心
    台阶
  • 原文地址:https://www.cnblogs.com/cyyljw/p/9008275.html
Copyright © 2011-2022 走看看