若有以下程序: #include void fun(int *s,int nl int n2) { int i,j,t; i=nl; j=n2; while(i

admin2020-04-18  24

问题 若有以下程序:
  #include
  void fun(int  *s,int nl int n2)
  {
    int i,j,t;
    i=nl;  j=n2;
    while(i    {
    t=s;S=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");
  }
  则程序的运行结果是(    )。

选项 A、4321098765
B、5678901234
C、0987654321
D、0987651234

答案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选项正确。
转载请注明原文地址:https://jikaoti.com/ti/AzG0FFFM
0

随机试题
最新回复(0)