问题
单项选择题
有以下程序:
#include <stdio, h>
void sort(int a[] ,int n)
int i,j,t;
for(i=0;i<n;i ++ )
for(j =i+ 1;j<n;j ++ )
if(a[i]<a[j]) t=a[1] ;a[i]=a[j] ;a[j] =t;
main( )
int aa[10] = 1,2,3,4,5,6,7,8,9,10 ,i;
sort(aa +2, 5);
for(i =0;i<10;i++) prinff("%d," ,aa[i]);
prinff("\n");
程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
答案
参考答案:C
解析: sort函数的功能是将给定的数由大到小排序。函数调用sort(aa+2,5);中的实参 aa+2是aa[2]的地址,将其传给形参a[],使得形参中封a[0]的值为主函数中aa[2]的值,即3;实参5传给形参n,在sort函数中用于指定参加排序的5个数,从aa[2]到aa[6],所以本题输出的结果是:1,2,7,6,5,4,3,8,9,10,