帮我解释一下这个C语言程序吧

#include<stdio.h>structSTU{charnum[10];floatscore[3];}main(){structSTUs[3]={{"20021",... #include<stdio.h>
struct STU
{char num[10];float score[3];}
main()
{struct STU s[3]={
{"20021",90,95,85},
{"200222",95,80,75},
{"20023",100,95,90}},*p=s;
int i;float sum=0;
for(i=0;i<3;i++)
sun=sum+p->score[i];
printf("%6.2f\n",sum);
}
上面的程序是在结构体这章的练习题中的,要求选择输出结果。但我看不懂该程序,不知道结构体数组变量s[3]与结构体中的两个数组成员的关系。将上面的程序输入后编译后出错。麻烦高手们给我详细解释一下这个程序,以及错在哪里,输出结果是什么。非常感谢啊
展开
 我来答
留校察看uZ
2011-07-17 · TA获得超过261个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:144万
展开全部
1.struct STU
{char num[10];float score[3];};
注意大括号外有分号

2.
sun=sum+p->score[i];
应高伏该是戚陆携悉没sum

结果270.00

p指向数组s[0],sum=sum+p->score[i]=sum+s[0].score[i]
总之,sum=0+90+95+85
帐号已注销
2011-07-17 · TA获得超过173个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:106万
展开全部
求某个学号的总分数的。
#include<stdio.h>
struct STU
{char num[10];float score[3];}
main()
{struct STU s[3]={
{"20021",90,95,85},
{"200222",95,80,75},
{"20023",100,95,90}},*p=s;
int i, j;float sum=0;
for(j = 0; j < 3; j ++)
{
for(i=0;i<3;i++)
sun=sum+p[j].score[i];
printf("%6.2f\喊芦笑n",sum);
}
}
注哗裂意p是一个结构体数组指针,要用下标访问郑含各个元素的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
许浅happy
2011-07-17
知道答主
回答量:47
采纳率:0%
帮助的人:30.7万
展开全部
sun是什么,没有定义啊,应该是sum吧
结果是270.00
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式