问题
单项选择题
有以下程序 #include <stdio.h> void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/ { int t,i,j; for(i=0;i<n-1;j++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;} } main( ) { int c[10]={1,2,3,4,5,6,7,8,9,0},i; fun(c+4,6); for(i=0;i<10;i++) printf("%d,",c[i]); printf("\n"); } 程序的运行结果是 A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4, C)0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,
答案
参考答案:D
解析: 在本题中,主函数在调用fun( )函数进行排序时,传递的参数是c+4和6,fun( )函数实现的功能是将数组c的第5个元素开始的6个元素依次进行从大到小的顺序排列。排序之后,数组c的内容变为{1,2,3,4,9,8,7,6,5,0}。