若有以下程序 #include intf(inta[],intn) {if(n>1) {intt; t=f(a,n-1); returnt>a[n-1]?t:a[n-1]; } else returna[0]; } main() {inta[]={8,2,

admin2019-12-17  30

问题 若有以下程序
#include
intf(inta[],intn)
{if(n>1)
{intt;
t=f(a,n-1);
returnt>a[n-1]?t:a[n-1];
}
else
returna[0];
}
main()
{inta[]={8,2,9,1,3,6,4,7,5};
printf("%d\n",f(a,9));
}
则程序的输出结果是

选项 A、9
B、1
C、8
D、5

答案A

解析 本题主要考查了函数的递归调用,解题思路只需要将参数带入函数中,首先是执行f(a, 9),递归执行(a, 8)直到(a, 2),得到a[0]=8,然后判断a[0]是否大于a[1],本题实际上就是求出数组a元素的最大值。答案为9,选项A正确。
转载请注明原文地址:https://kaotiyun.com/show/6GCp777K
0

最新回复(0)