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

admin2020-10-26  32

问题 有以下程序:
#include<stdio.h>
struet S{int n;int a[20];};
void f(struet 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;struet 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://kaotiyun.com/show/2x3p777K
0

最新回复(0)