选择题   有以下程序:
    #include<stdio.h>
    void fun(int a[],int n,int flag)
    {  int i=0,j,t;
    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
    if(flag)
    { if(a[i]<a[j])
    { t=a[i];a[i]=a[j];a[j]=t;}
    }
    else
    { if(a[i]>a[j])
    { t=a[i];a[i]=a[j];a[j]=t;}
    }
    }
    main()
    {  int c[10]={7,9,10,8,3,5,1,6,2,4},i;
    fun(c,4,1);
    fun(c+4,6,0);
    for(i=0;i<10;i++)printf('%d,',c[i]);
    printf('\n');
    }
    程序运行后的输出结果是______。
 
【正确答案】 C
【答案解析】fun()函数的作用是定义了冒泡法排序,flag控制升序(0)或者降序(1),n为参与排序的元素个数,a为数组的起始地址。因此,fun(a,4,1)函数即将数组的前4个数据降序排序,fun(a+4,6,0)函数是对数组的第4项后的6个元素进行升序排序。故结果为10,9,8,7,1,2,3,4,5,6。答案为C选项。