问题 单项选择题

有以下程序 struct S{int n;int a[20];};voidf(struct S* p){int,i,j,t;for(i=0;in一1;i++)for(j=i+1;jn;j++)if(p->a [i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];P->a[j]=t;}} maln(){int i;struct S s={10,{2,3,l,6,8,7,5,4,10,9}};f(&s);for(i=0;i

A.1,2,3,4,5,6,7,8,9,10,

B.10,9,8,7,6,5,4,3,2,1,

C.2,3,1,6,8,7,5,4,10,9,

D.10,9,8,7,6,1,2,3,4,5,

答案

参考答案:A

解析:本题中,在调用函数f()时,实参是结构体变量s的地址,所以在函数中对形参的改变会影响到实参的数值。函数f()实现的功能是把结构体的成员数组中的值按从小到大顺序进行排列。

选择题
单项选择题