下列程序段的输出结果是______。 struct { int a,b,c; }s={

下列程序段的输出结果是______。
struct
{
int a,b,c;
}s={下列程序段的输出结果是______。
struct
{
int a,b,c;
}s={1,2,3},*p;
p=&s;
s.a=s.b+s.c;
printf("%d\n",p->a);

A. 5
B. 4
C. 3
D. 无结果

p->a s.a 什么意思,这题看不懂

s 是结构,含成员 int a,b,c; *p 是 结构指针。
s={1,2,3} 是初始化, 即 s.a=1; s.b=2; s.c=3;
p=&s; 让 p 指向 结构s. p->a 是成员 a 的地址。
s.a=s.b+s.c; 更新 s.a 数值, s.a = s.b+s.c = 2+3 =5;
printf("%d\n",p->a); 输出 成员 a 的值,即 s.a 的当前值。输出 5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-04
结果是A .5追问

为啥