有以下程序  struct STU  {  char name[10];v   int num;    int Score; };  main( )  { struct STU s[5]={ {“YangSan”,20041,703},{“LiSiGuo”

admin2006-03-15  25

问题 有以下程序  struct STU  {  char name[10];v   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  %d\n”,s[1].Score,p[1]->Score); }  执行后输出结果是( )

选项 A、550  550
B、680  680
C、580  550
D、580  680

答案C

解析 指针数组中的每个指针元素,分别指向数组s,然后按Score进行排序,数组s顺序本身没变,只是指针数组变化。
转载请注明原文地址:https://kaotiyun.com/show/baHp777K
0

最新回复(0)