求解答案A怎么算的?
1个回答
展开全部
这是一个含递归的函数:
主函数中数组a={8,2,9,1,3,6,4,7,5},n=9(即数组a中的元素个数)
调用函数f(a,9)时,定义的t=f(a,8),在f(a,8)中又定义的一个t=f(a,7),在f(a,7)中又定义的一个t=f(a,6)……如此嵌套下去,直到当n=2时,t=f(a,1),在f(a,1)中由于n=1不满足n>1的条件而执行return的语句,即返回a[0]的值给t,即t=a[0]=f(a,1)=8;然后执行函数f(a,2)中的n>1中的return语句:t>a[n-1]?t:a[n-1];此处8>2,故返回t的值,然后再向上递归,直至n=9。
然后可以发现该程序执行的功能是返回数组a[]中的元素的最大值:9。
主函数中数组a={8,2,9,1,3,6,4,7,5},n=9(即数组a中的元素个数)
调用函数f(a,9)时,定义的t=f(a,8),在f(a,8)中又定义的一个t=f(a,7),在f(a,7)中又定义的一个t=f(a,6)……如此嵌套下去,直到当n=2时,t=f(a,1),在f(a,1)中由于n=1不满足n>1的条件而执行return的语句,即返回a[0]的值给t,即t=a[0]=f(a,1)=8;然后执行函数f(a,2)中的n>1中的return语句:t>a[n-1]?t:a[n-1];此处8>2,故返回t的值,然后再向上递归,直至n=9。
然后可以发现该程序执行的功能是返回数组a[]中的元素的最大值:9。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询