求高手解答一下 程序中的这两句 p->y "(++p)->x);代表什么意思~~~

#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};voidmain(){structst*p=data;prin... #include <stdio.h>
struct st
{
int x,y;
}
data[2]={1,10,2,20};
void main()
{
struct st *p=data;
printf("%d,",p->y );
printf("%d\n",(++p)->x);
}
展开
开心小书生
推荐于2017-09-05 · TA获得超过405个赞
知道小有建树答主
回答量:321
采纳率:50%
帮助的人:293万
展开全部
p是一个指向ST结构体的指针,P->Y,就是访问结构体中Y的值。
++P,就是把指针移动到下一个结构体,再访问它里面的X的值。
追问
那为什么输出时10 和2呢?
追答
是的嘛,第一个结构的X=1,Y=10 第二个结构X=2,Y=20
printf("%d,",p->y );这个输出第一个结构的Y=10

printf("%d\n",(++p)->x);这个指针移到第二个结构,输出X=2

对的啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式