单选题 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序:
void sort(int a[],int n)
{int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;i<n;j++)
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;i<10;i++) printf('%d,",aa[i]);
printf("/n");
}
程序运行后的输出结果是( )。
  • A. 1,2,3,4,5,6,7,8,9,10,
  • B. 10,9,8,7,6,5,4,3,2,1,
  • C. 1,2,3,8,7,6,5,4,9,10,
  • D. 1,2,10,9,8,7,6,5,4,3,
【正确答案】 C
【答案解析】[解析] 本题中首先定义一个长度为10的整型数组,并初始化为“1,2,3,4,5,6,7,8,9,10”,然后调用排序函数sort(),对aa[3]开始的5个元素进行从大到小的排序,aa[0]、aa[1]、aa[2]、aa[8]、aa[9]并没有变化。sort()执行完毕后,接着执行后面的for语句输出数组aa中各个元素的值,所以输出为“1,2,3,8,7,6,5,4,9,10”。故4个选项中C正确。