问题 单项选择题

有以下程序
struet STU
char name[10];
int num;
int Score;
;
main()
struct STU s[5]-"YangSan",20041,703,("LiSiGuo",20042,580,
"WangYin",20043,680,"SunDan",20044,550,
"Penghua",20045,537,*p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]-&s[i];
for(i 0;i<4;i++)
for(j-i+1;j<5;j++)
if(p[i] >Score>p[j] >Score)
t=p[i];p[i]=p[j];p[j]-t;
printf("%d %dkn",s[1].Score,p[1]->Score);

执行后输出结果是

A.550 550

B.680 680

C.580 550

D.580 680

答案

参考答案:C

解析: 本题考核的知识点是结构体类型的定义、初始化以及结构体数组中元素的引用方法。本题中首先定义了结构体类型STU,该结构体由一个长度为10的字符数组、两个整型变量hum和Score组成.在主函数中,定义了一个长度为5的结构体数组s并赋初值,一个指针数组p和一个指针变量t,接着将数组s中各元素的地址依次赋给指针数组p中的各成员。然后通过两个for循环将数组p按Score的值从小到大的顺序排列。因此最后输出的p[1]->Seore的值为550,而数组 s[1]。Score的值为580,所以,4个选项中选项C符合题意。

单项选择题
单项选择题