有以下程序  #include<stdio.h>  int fun(int a[],int n)  {   if(n>1)   return a[0]+fun(a+1,n-1);   else   return a[0];  }  main()

admin2022-04-02  22

问题 有以下程序
 #include<stdio.h>
 int fun(int a[],int n)
 {
   if(n>1)
    return a[0]+fun(a+1,n-1);
   else
    return a[0];
 }
 main()
 {
    int a[10]={1,2,3,4,5,6,7,8,9,10},sum;
    sum=fun(a+2,4);
    printf("%d\n",sum);
 }
 程序运行后的输出结果是(          )。

选项 A、34
B、55
C、10
D、18

答案D

解析 题意中,函数fun的功能是通过递归,将数组a中下标为0到n-1位置的元素累加,作为函数返回值返回。main函数调用fun时,传入的a+2作为数组参数,传入n的值是4,所以函数返回值是元素a[2],a[3],a[4],a[5]的和,程序输出18。本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/Khkp777K
0

最新回复(0)