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

admin2022-04-01  21

问题 有以下程序
 #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/n6kp777K
0

随机试题
最新回复(0)