有以下程序:
#include <stdio.h>
void fun(int *a, int n) /*fun函数的功能是将a所指数组元素从大到小排序*/
int t, i, j;
for(i=0; i<n-1; i++)
for(j=i+1; j<n; j++)
if(a[i]<a[j]) (t=a[j]; 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}。