选择题
18.
下列程序的运行结果是______。
void fun(int *a, int i, int j)
{ int t;
if(i<j)
{t=a[i]; a[i]=a[j]; a[j]=t;
i++; j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++)printf("%2d",x[i]);
printf("<n");
}
A、
1,2,6,8
B、
8,6,2,1
C、
8,1,6,2
D、
8,6,1,2
【正确答案】
C
【答案解析】
本题用了函数调用,fun()中if语句成立则进行i,j的交换,用到主函数中则为把下标0、3,1、2互换,因此,当执行完时x的数组为8,1,6,2,故选C。
提交答案
关闭