有以下程序 #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];

admin2021-06-15  29

问题 有以下程序
#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 =a[j];
       b[k] =a[j+1];
       j+=2; k++;
   }
   for (i=0; i<n; i++)
       a = b;
}
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);
   printf("\n");
}
程序的运行结果是

选项 A、2,4,6,8,10,9,7,5,3,1,
B、10,8,6,4,2,1,3,5,7,9,
C、1,2,3,4,5,6,7,8,9,10,
D、1,3,5,7,9,10,8,6,4,2,

答案A

解析 程序的执行过程为:调用函数f,将数组c地址与n数值传入函数,此函数实现,将数组偶数位置元素从中间向前依次放入数组前半段,数组奇数位置元素从中间向后依次放入数组后半段,调用结果为c[10]={2,4,6,8,10,9,7,5,3,1},之后依次输出,A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/RLz0FFFM
0

相关试题推荐
最新回复(0)