单选题
若有以下程序:
#include <stdio.h>
void fun(int *s, int n1, int n2)
{
int i,j,t;
i=n1; j=n2;
while(i<j)
t=s[i]; s[i]=s[j]; s[j]=t; i+ +; j--;
}
}
main( )
{
int a[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3); fun(a,4,9); fun(a,0,9);
for(k=0;k<10;k+ +)
printf("%d",a[k]);
printf("/n");
}
则程序的运行结果是______。
【正确答案】
B
【答案解析】[解析] 该程序首先给一维数组赋值,然后三次调用fun函数,其中fun(a,0,3);的功能是将一维数组中的第1个元素和第4个元素互换,第2个元素和第3个元素互换;fun(a,4,9);的功能是将一维数组中的第5个元素和第10个元素互换,第6个元素和第9个元素互换,第7个元素和第8个元素互换;fun(a,0,9);的功能是将将一维数组中的第1个元素和第10个元素互换,第2个元素和第9个元素互换……依次类推。因此B选项正确。