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

admin2019-04-24  28

问题 有以下程序:
    #include<stdio.h>
    struct S
    {int n;int a[20];};
    void f(struct S *p)
    {
    int i,i,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,l,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/4URp777K
0

最新回复(0)