有以下程序 struet STU { char name[10]; int num; int Score; }; main() { struct STU s[5]-{{"YangSan",

admin2009-01-15  21

问题 有以下程序    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-&s;        for(i 0;i<4;i++)           for(j-i+1;j<5;j++)               if(p  >Score>p[j]  >Score)                  { t=p;p=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

答案4

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

最新回复(0)