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

admin2022-10-25  32

问题 有以下程序:
     #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://jikaoti.com/ti/Mfd0FFFM
0

最新回复(0)