若有以下程序 #include int f(int a[], int n) { if (n > 1) { int t; t=f(a, n-1); return t > a[n-1] ? t : a[n-1]; } else return

admin2020-11-23  21

问题 若有以下程序
#include
int  f(int  a[], int  n)
{  if (n > 1)
{  int  t;
t=f(a, n-1);
return  t > a[n-1]  ?  t : a[n-1];
}
else
return a[0];
}
main()
{  int  a[] = {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/jS3p777K
0

最新回复(0)