R2-1
设有如下定义,则对data中的a成员的正确引用是()。
struct sk{ int a; float b; } data, *p=&data;
A.p->data.a B.(*p).a C. (*p).data.a D. p.data.a
答案为B, A 错误,p=sturct sk.data,不需要再加data直接p->a
R2-5
以下程序的输出结果是( )。
struct stu{
int x;
int *y;
} *p;
int dt[4] = {10, 20, 30, 40};
struct stu a[4] = {50, &dt[0], 60, &dt[1], 70, &dt[2], 80, &dt[3]};
int main( )
{
p=a;
printf("%d,", ++p->x);
printf("%d,", (++p)->x);
printf("%d", ++(*p->y));
return 0;
}
A.50,60,21 B.51,60,21 C.60,70,31 D.10,20,20
答案为B,++p->x,是p->x,也就是a[0].x的值+1=51;(+&#