问题 单项选择题

以下程序的输出结果是( )。
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[3=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选项。

单项选择题
填空题