有以下程序: # include <stdio.h> struct S{int n; int a[20]; }; void f(struct S *p) { int i,j,t; for (i=0; i<p->n-1; i++)   

admin2015-11-24  3

问题 有以下程序:
# include   <stdio.h>
struct S{int  n;  int  a[20];  };
void f(struct S  *p)
{ int  i,j,t;
  for (i=0; i<p->n-1; i++)
   for (j=i+1; j<p->n; j++)
     if (p->a > p->a[j])  { t= p->a;  p->a = p->a[j];  p->a[j] = t;  }
}   
main()
{ int  i;   struct S  s={10, {2,3,1,6,8,7,5,4,10,9}};
  f(&s);
  for (i=0; i<s.n; i++) printf("%d,", s.a);
}
程序运行后的输出结果是(  )。

选项 A、2,3,1,6,8,7,5,4,10,9,
B、10,9,8,7,6,5,4,3,2,1,
C、1,2,3,4,5,6,7,8,9,10,
D、10,9,8,7,6,1,2,3,4,5,

答案C

解析 本题的子函数f的功能是对结构体变量s中第二个成员数组中所有的数据进行从小到大的冒泡排序,所以结果是C)。
转载请注明原文地址:https://jikaoti.com/ti/QLkiFFFM
0

相关试题推荐
最新回复(0)