早教吧作业答案频道 -->其他-->
c语言新手关于结构体的#includeStructst{intx;Int*y;}*p;Intdt[4]={10,20,30,40};Structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};Main(){P=aa;Printf("%d\n",++p->x);Printff("%d\n",(++p)->x);Printf("%d\n",++(*p->y));}这里第三
题目详情
c 语言新手 关于 结构体的
#include
Struct st
{ int x;
Int *y;
} *p;
Int dt[4]={10,20,30,40};
Struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
Main()
{
P=aa;
Printf("%d\n",++p->x);
Printff("%d\n",(++p)->x);
Printf("%d\n",++(*p->y));
}
这里第三个printf的答案为什么是 21 而不是11
Printf("%d\n",++(*p->y))
这个应该是先指向dt[0],再求值,再加一的吧.
#include
Struct st
{ int x;
Int *y;
} *p;
Int dt[4]={10,20,30,40};
Struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
Main()
{
P=aa;
Printf("%d\n",++p->x);
Printff("%d\n",(++p)->x);
Printf("%d\n",++(*p->y));
}
这里第三个printf的答案为什么是 21 而不是11
Printf("%d\n",++(*p->y))
这个应该是先指向dt[0],再求值,再加一的吧.
▼优质解答
答案和解析
在执行printf("%d\n",(++p)->x);时p已经自加1了,指向的地址是第二组数据.
所以在执行printf("%d\n",++(*p->y));时*p->y的值是20,再++就是21..
如果去掉printf("%d\n",(++p)->x);后printf("%d\n",++(*p->y));的结果才是11.
所以在执行printf("%d\n",++(*p->y));时*p->y的值是20,再++就是21..
如果去掉printf("%d\n",(++p)->x);后printf("%d\n",++(*p->y));的结果才是11.
看了 c语言新手关于结构体的#in...的网友还看了以下:
小白求教Matlab初级编程.q0=10;R=60;L=9;C=0.00005;t=0:0.8;q 2020-05-17 …
根细线上端固定,下端系一个小重物,让这个小重物来回自由摆动,来回摆动一次的时间t(单位s)与细线的 2020-06-05 …
已知质点沿x轴直线运动,运动公式x=2+6t*t-2t*t*t,求(1)质点在运动开始4秒内的位移 2020-06-29 …
在物理学中,常常研究重锤的摆动问题,丽丽家有一个失准摆锤摆动一次所用时间t(s)与摆长l(m的大落 2020-07-07 …
在物理学中,常常研究重锤的摆动问题,丽丽家有一个失准摆锤摆动一次所用时间t(s)与摆长l(m的大落 2020-07-07 …
噬菌体ΦX174是单链DNA生物,当它感染宿主细胞时,首先形成复制型(RF)的双链DNA分子.如果 2020-07-18 …
用matlab求定积分的上限b的值定积分l=∫(x^2+y^2+z^2)^(1/2)*xd(t)上 2020-07-24 …
推断题:现有如下反应(反应条件均不给),推断物质⑴A→B+C+D⑵C+E→C+F+D⑶D+G→H⑷ 2020-07-30 …
老天,救救我吧!一个长为L米的钟摆完成一次摆动所需T秒,可用公式T=2派√L/10表示.用T的代数式 2020-12-05 …
英文单词分类填空动物类1.O()t()p()s2.k()t()e()3.l()b()t()r4.a( 2021-02-05 …