发布网友 发布时间:2022-04-26 09:56
共1个回答
热心网友 时间:2022-06-27 02:06
运行结果:
51
60
21
程序
#include
struct
st
//原程序多了个分号
{int
x;
int
*y;
}*p;
int
dt[4]={10,20,30,40};
//定义数组dt
struct
st
aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
//定义结果数组aa
void
main()
{p=aa;
//结构指针p指向结构数组aa[0]
printf("%d\n",++p->x);
//对aa[0]->x=50进行加1操作后输出
printf("%d\n",(++p)->x);
//原程序括号位置错,指针加1后输出.即移到数组aa[0]的下一位置aa[1]处,此时,aa[1]->x=60
printf("%d\n",++(*p->y));//对aa[1]->y所指向的内容加1后输出,即地址&dt[1]的内容20加1后输出
}