以下程序中函数 f 的功能是 : 当 flag 为 1 时 , 进行有由小到大排序 ; 当 flag 为 0 时 , 进行由大到小排序。
void f(int b[],int n,int flag)
{ int i,j,t;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if(flag?b[i]>b[j]:b[i]<b[j]) { t=b[i];b[i]=b[j];b[j]=t; }
}
main( )
{ int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0); f(a,5,1);
for(i=0;i<10;i++) printf("%d",a[i]);
}
程序运行后的输出结果是
A)1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ,
B)3 , 4 , 5 , 6 , 7 , 2 , 1 , 8 , 9 , 10 ,
C)5 , 4 , 3 , 2 , 1 , 6 , 7 , 8 , 9 , 10 ,
D)10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ,