有以下程序  #include<stdio.h>  int fun(int *a,int *b,int n)  {int i=0,j=0,sum=0;   for(;i<n;i++)   {sum+=a[i];   if((i+1)%2==0

admin2022-10-24  25

问题 有以下程序
 #include<stdio.h>
 int fun(int *a,int *b,int n)
 {int i=0,j=0,sum=0;
    for(;i<n;i++)
    {sum+=a
     if((i+1)%2==0)
     {b[j++]=sum;
      sum=0;
     }
    }
    return j;
 }
 main()
 {int a[8]={1,0,2,3,5,4,2,1},b[8],k,i;
    k=fun(a,b,8);
    for(i=0;i<k;i++)
      printf("%d",b);
 }
 程序的运行结果是(          )。

选项 A、0 2 4 2
B、1 5 9 3
C、1 3 5 1
D、2 8 6

答案B

解析 程序中,fun函数的功能是接收两个数组a、b,以及数组a的元素个数n,然后通过for循环将数组a中下标为偶数的元素与后面相邻的下标为奇数的元素两两相加,赋给数组b中下标为j的元素,最后返回数组b的个数。所以main函数中,通过调用fun函数,将数组a的元素两两相加,得到数组b的各个元素,再通过for循环输出,结果为1 5 9 3。故本题答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/uDkp777K
0

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