int a[10] , i , *p ; p=a; 则p++; p指向谁? p+i指向谁?,*p++ ,*(++p) ,(*p)++的作用分别是什么 10

 我来答
勤奋的小ee
推荐于2018-03-19 · 超过10用户采纳过TA的回答
知道答主
回答量:17
采纳率:0%
帮助的人:13.9万
展开全部
p=a; -指向数组的第一个地址a[0];
*p++ :利用指针的移动可以使用++ 和 -- 这两个运算符,利用++可以移动地址
比如*p=a[0]; *p++后*p=a[1];
同理:*(++p) 是 *++p后 先将指针p自增1 操作后再取出该值
(*p)++
(*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增
不加括号是直接指向下一个值;
加上括号是先指向该值让后在让指针后移
#include<stdio.h>
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
printf("%d\n",*p++);
printf("%d\n",*(p)++);
for(i=0;i<10;i++)
printf("%d\t",a[i]);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式