首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。 例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:1
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量8中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。 例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:1
admin
2013-04-02
32
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和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://kaotiyun.com/show/9DJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
当运行以下程序时,输入abcd,程序的输出结果是:[]。insert(charstr[]){inti;i=strlen(str);while(i>0)
以下程序的输出结果是[]。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=-a[i][i]+a[i][3-i
有以下程序 void fun 1 (char *p) { char *q; q=p; while(*q!=’\0’) {(*q)++;q++;}
有以下程序 main() {int i,s=0,t[]={1,2,3,4,5,6,7,8,9 }; for(i=0;i<9;i+=2) s+=*(t+i); printf("%d\
有以下程序 fun(char p[][10]) {int n=0,i; for(i=O;i<7;i++) if(p[i][O]=T)n++; return n; } main
若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。
在深度为7的满二叉树中,叶子结点的个数为______。
若变量已删除正确定义,则以下语句的输出结果是______。 s=32; s^=32; printf("%d",s);
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 void f(int b[],int n,int flag) { int i,j,t; for(i=0;i<n-1;i++)
随机试题
阅读下面的词,回答问题。
设,则y’=_______.
Anewcameasasurprisethatanelderlywomandiedyesterdayafter【21】knockeddownbyamotoristwhohadmadeno【22】tobrake(刹
低渗性缺水按临床表现轻重分为三度。()
现场行政处罚决定书应当载明
下列对于乳腺癌无效的是
治疗弥散性血管内凝血时,监测肝素用量的试验是
在伤害致死案件中有权提起附带民事诉讼的有________。
Theoceanisheatingup.That’stheconclusionofanewstudythatfindsthatEarth’soceansnow【K1】a______heatattwicethera
设随机变量X1,X2,…,Xm+n(m<n)独立同分布,其方差为σ2,令求:(Ⅰ)D(Y),D(Z);(Ⅱ)ρYZ。
最新回复
(
0
)