选择题   有以下程序:
    #include  <stdio.h>
    void fun(int *x,int s,int e)
    {  int i,j,t;
    for(i=s,j=e;i<j;i++,j--)
    {  t=*(x+i);  *(x+i)=*(x+j);*(x+j)=t;  }
    }
    main()
    {  int m[]={0,1,2,3,4,5,6,7,8,9},k;
    fun(m,0,3);fun(m+4,0,5);fun(m,0,9);
    for(k=0;k<10;k++)
    printf('%dIl,m[k]);
    }
    程序的运行结果是______。
 
【正确答案】 A
【答案解析】程序的执行过程为:定义数组m并为其赋初值,数组长度为10。调用函数fun(m,0,3),将数组首地址传入函数,函数实现将数组下标值从0到3的元素首尾倒置,for循环结束之后m={3,2,1,0,4,5,6,7,8,9}。调用函数fun(m+4,0,4),将数组下标值为4的元素地址传入函数,函数实现将数组下标值从4到9的元素首尾倒置,for循环结束之后m={3,2,1,0,9,8,7,6,5,4}。调用函数fun(m,0,9),将数组首地址传入函数,函数实现将数组下标值从0到9的元素首尾倒置,for循环结束之后m={4,5,6,7,8,9,0,1,2,3}。依次输出数组元素,结果为4567890123,选项A正确。