首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。 例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:1
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。 例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:1
admin
2013-04-02
38
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、”ZhangSan”、95、80、88,修改后输出t中的数据应为:10002、”LiSi”、96、81、89。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构l
#include
#include
struct student {
long sno;
char name[10];
float score[3];
};
/**********found**********/
【1】fun(struct student *a)
{int i;
a->sno = 10002;
strcpy(a->name, "LiSi");
/**********found**********/
for (i=0; i<3; i++) 【2】+= 1;
/**********found**********/
return 【3】;
}
main()
{struct student s={10001,"ZhangSan", 95, 80, 88}, *t;
int i;
printf("\n\nThe original data :\n");
printf("\nNo: %ld Name: %s\nScores: ",s.sno, s.name);
for (i=0; i<3; i++) printf("%6.2f ", s.score
);
printf("\n");
t = fun(&s);
printf("\nThe data after modified :\n");
printf("\nNo: %ld Name: %s\nScores: ",t->sno, t->name);
for (i=0; i<3; i++) printf("%6.2f ", t->score
);
printf("\n");
}
选项
答案
struct student* a->score[i] a
解析
第一空:主函数内fun函数的调用形式是“t=fun(&s);”,t是student结构体指针,故fun函数的返回值是student结构体指针,因此第一空为“struct student *”。
第二空:“for (i=0; i<3; i++) __2__+=1;”是修改a的score数组元素的值,故第二空为“a->score
”。
第三空:此处补充返回值,由第一空的分析可知,返回值是指针,a是指针变量,所以返回值为a,即第三空为“a”。
转载请注明原文地址:https://jikaoti.com/ti/Hin0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下关于函数的叙述中正确的是 ______。
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
有以下程序 int fun(int n) { if(n=1) return 1; else return(n+fun(n-1)); } main(
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
以下能正确定义字符串的语句是______。
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#includ
若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
随机试题
下列关于我国指导外商投资方向的待遇说法正确的是
舌动脉甲状腺上动脉
脑挫裂伤基本治疗原则的重要环节是
患者,女性,59岁,胃溃疡15年,持续上腹痛2个月。服用西咪替丁、奥美拉唑、制酸药等效果不显著,近3个月来疼痛逐渐加重,不易缓解。根据病情首先考虑的情况是
[2013年第28题]砖砌体砌筑施工工艺顺序正确的是:
A公司是一家生产制造型企业,随着业务的迅速发展,企业的经济实力近几年有了很大的提高,为了更好地留住关键员工、调动员工的工作积极性,同时吸引更多高素质的人才进入企业,公司决定在原有基础上大幅度提高员工薪资水平。公司修改了原有的薪酬制度,并对所有职位的薪资按比
甲、乙、丙、丁四人在一起讨论本部门年终奖的发放情况。甲:今年我们部门人人都有年终奖。乙:如果甲得到了年终奖,那么丙就没有得到。丙:甲得到了年终奖。丁:我们部门有人没有得到年终奖。已知四人中只有一人说假话,由此可以推出()。
大气中二氧化碳含量的逐年上升会导致什么现象?()
有定义语句:intyear=2009,*p=&year;以下不能使变量year中的值增至2010的语句是
WetlandsWhatarewetlands?Wetlandscanbethoughtofas"biologicalsupermarkets."Theyprovidegreatvolumesoffood
最新回复
(
0
)