单选题
有以下程序:
#include <stdio.h>
void fun(int a[], int n)
{ int i,j=0,k=n/2,b[10];
for(i=n/2-1;i>=0; i--)
{ b[i]=a[j];
b[k]=a[j+1];
j+=2; k++;
}
for(i=0; i<n; i++)
a[i] = b[i];
}
main()
{ int c[10] = {10,9,8,7,6,5,4,3,2,1},i;
fun(c,10);
for(i=0;i<10;i++)
printf("%d,",c[i]);
printf("/n");
}
程序的运行结果是______。
【正确答案】
A
【答案解析】[解析] 程序的执行过程为:调用函数fun,将数组c地址与n数值传入函数,此函数实现,将数组偶数位置元素从中间向前依次放入数组前半段,数组奇数位置元素从中间向后依次放入数组后半段,调用结果为c[10]={2,4,6,8,10,9,7,5,3,1},之后依次输出,故A选项正确。