单选题 有以下程序:
#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[i]>p->a[j])
{
t=p->a[i];
p->a[i]=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[i]);
}
程序的运行结果是______。
【正确答案】 C
【答案解析】[解析] 本题中子函数f的功能是对结构体变量s中第二个成员数组中的所有数据进行从小到大的冒泡排序,所以结果是C选项。