zoukankan      html  css  js  c++  java
  • *p++、(*p)++、*++p、++*p有什么不同(从大一写的QQ空间迁移过来)

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

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

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

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

    执行后a[5] = {1,2,3,4,5}

    ============================

     //下面两种情况相同

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

    执行后a[5] = {2,2,3,4,5}

    ============================


    ++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
    cout <<++*p; // 2 
    cout <<(++*p) //2
    执行后a[5] = {2,2,3,4,5}


    ============================


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

    ============================
     

    注意:上面的每条cout输出,要单独输出才能得到后面的结果。




    ========================================Talk is cheap, show me the code=======================================

    CSDN博客地址:https://blog.csdn.net/qq_34115899
  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/lcy0515/p/9179844.html
Copyright © 2011-2022 走看看