C语言高手们谁能帮忙讲解一下这个题

main(){inta[]={1,2,3,4,5,6};int*p;p=a;printf("%d",*p);printf("%d\n",*(++p));printf("%... main()
{ int a[]={1,2,3,4,5,6};
int *p;
p=a;
printf("%d",*p);
printf("%d\n",*(++p));
printf("%d",*++p);
printf("%d\n",*(p--));
p+=3;
printf("%d %d\n",*p,*(a+3));
getch();
}
答案是:12
33
5 4
什么意思呀
展开
 我来答
WXD110114dccd8
2007-08-23 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.6万
采纳率:43%
帮助的人:9107万
展开全部
main()
{ int a[]={1,2,3,4,5,6}; //定义一个整型数组,并对其进行初使化。

int *p; //定义一个INT类型的指针变量

p=a; //p指向a数组的第一个元素

printf("%d",*p);//输出p所指向的值(即数组a的第一个元素1)

printf("%d\n",*(++p));//p值增1,指向数组a的下一个元素a[1],并输出这个元素值,之后换行

printf("%d",*++p);//p值增1,指向数组a的下一个元素a[2],并输出这个元素值

printf("%d\n",*(p--));//输出p现在指向的元素值a[2]并换行,之后,p值减一,指向上一个元素a[1]

p+=3;//p值增3,指向a[4]

printf("%d %d\n",*p,*(a+3));//输出p现在指向的元素值a[4],再输出a[3],之后换行

getch();//等待输入,起暂停作用
}
yaonie000
2007-08-23
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
main()
{ int a[]={1,2,3,4,5,6};
int *p;

p=a; //把a[0]的地址传递给 p;

printf("%d",*p); //这里输出的是 a[0];

printf("%d\n",*(++p)); // 这里先 p=p+1。然后再输出 ,输出的a[1];

printf("%d",*++p);//这里输出的是a[2]。因为 p是先p=p+1之后再输出的。。

printf("%d\n",*(p--));//这里同样的是输出 a[2].但是输出之后p=p-1;

p+=3;//p=p+3;

printf("%d %d\n",*p,*(a+3));//输出 a[4] 和 a[2]
getch();
}

不就是普通的指针啊??说得比较苍促。可能有不对你地方。。建议LZ仔细看看C语言指针那一章吧。。
因为分配指针的时候地址是连续的。。所以可以通过对地址的+ - 来代替下标的操作。。同样多维数组也可以有类似的方式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5f707f9
2007-08-23 · TA获得超过312个赞
知道小有建树答主
回答量:514
采纳率:0%
帮助的人:633万
展开全部
不是的吧,液晶只能调到75,纯屏85,再高就看不到了,屏幕黑掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2007-08-24
展开全部
WXD11011 - 副总裁 十一级 的讲解很详细,很不错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f8b8c6979
2007-08-23 · TA获得超过561个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:0
展开全部
题目 匿名鸟?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式