以下程序的输出结果是( )。 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--; fu

admin2012-12-03  20

问题 以下程序的输出结果是(    )。
    void fun(int*a,int i,int j)
    {int t;
    if(i<j)
    { t=a;a=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);
     printf("n");
  }

选项 A、1,2,6,8
B、8,6,2,1
C、8,1,6,2
D、8,6,1,2

答案C

解析 本题用了函数调用fun中i语句成立则进行i,j的变换,用到主函数中则为把下标为0、3、1、2互换,因此当执行完后x的数组为8,1.6,2,故选铎C选项。
转载请注明原文地址:https://jikaoti.com/ti/21B0FFFM
0

最新回复(0)