永发信息网

计算机二级关于c语言的题

答案:2  悬赏:70  手机版
解决时间 2021-08-13 01:05
  • 提问者网友:树红树绿
  • 2021-08-12 17:25

请详细讲解:

 

(26)有以下程序段
struct st
{int x;int *y;}*pt;
int a[]={l,2},b[]={3,4};
struct st c[2]={10,a,20,b};
pt=c;
以下选项中表达式的值为11的是
A.*pt->y 
B.pt->x
C.++pt->x 
D.(pt++)->x

最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-08-12 17:55

struct st c[2]={10,a,20,b};


则c为一个结构体数组,相当于


c[0].x=10,c[0].y=数组a的首地址


c[1].x=20,c[1].y=数组b的首地址


pt=c;则pt为结构体数组c的首地址


A:pt->y相当于c[0].y,则这是指向的数组a的首地址,*pt->y则相当于a[0]=1


B:pt->x相当于c[0].x=10


C:pt->x相当于c[0].x=10,++pt->x执行自加1后=11


D:(pt++)先取值后自加,因此(pt++)->x相当于pt->x相当于c[0].x=10


因此答案应该是C

全部回答
  • 1楼网友:千夜
  • 2021-08-12 18:55
选C
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯