*和++使用详解

8人阅读 评论(0) 收藏 举报
分类:
2018-04-16  创建人:Ruo_Xiao
邮箱:xclsoftware@163.com
  1. 二者优先级相同,都属于单目运算符,结合方向是从右向左。
  2. 栗子:注意,上面的每条cout输出,要单独输出才能得到后面的结果。
#include <string>
#include <iostream>
using namespace std;

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

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

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

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

    cin.get();
    return 0;
}
查看评论
    个人资料
    持之以恒
    等级:
    访问量: 5444
    积分: 1019
    排名: 5万+
    文章存档