4个回答
展开全部
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输出,要单独输出才能得到后面的结果。
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输出,要单独输出才能得到后面的结果。
展开全部
p代指针,*p++就是把P指向的数字提出再加一,*P++则是指把P的地址加一所指的数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
P++是先取p值,然后再p+1,所以*p++,实际上就是*p的值。
++p是先+1再取值,所以*++p,就是*(p+1).
++p是先+1再取值,所以*++p,就是*(p+1).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的对,因为++的优先级高,所以会先算++,*P++的值是*P,但是它已经向下移动了指针,而*++P是先把P加1,然后取*,就是*(P+1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询