作业帮 > 综合 > 作业

这道C语言题怎么做啊?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 03:16:26
这道C语言题怎么做啊?

 


这道题是一个递归的题目,你一开始进int函数,是a数组 n=9. 然后 a数组 n=8 一层一层往里面进 直到 a数组 n=1 由于 n=1 不符合 n>1的条件 所以返回 a[0] 返回8 上一层的t则为8 当t 被赋值8 时 该层可以往下执行. 判断,因为一直都是8 大所以 每层都返回8,但是当a[2]等于9时,则 大于8 所以该层返回9,
以后一直都是9最大.所以答案选D
再问: 怎么有好多层?
再问: 不是t=8,然后t>a[9-1],直接返回t了吗?
再问: 不是t=8,然后t>a[9-1],直接返回t了吗?
再答: 这个情况是这样的,
第一层 a[] n=9
第二层 a[] n=8
第三层 a[] n=7
............................
............................
第九层 a[] n=1
第九层返回的8给第八层的t(第八层n=2),也就是第八层 t=8
然后t>a[2-1],然后返回 8 给第七层(n=3),以此类推返回到最后一层
最终返回的是最大值
该函数的原理就是求数组最大值

求采纳,谢谢!