vgrgd 2021-08-07 13:14 采纳率: 66.7%
浏览 38
已结题

c语言递归问题,想知道这个图里6题的思路

img

  • 写回答

2条回答 默认 最新

  • 关注

    f()函数是求数组中所有元素之和。
    思路是如果数组中只有一个元素就返回这一个元素a[0]
    否则 用第一个元素a[0] 加上数组中第一个元素a[0] 之后的所有元素之和。
    而第一个元素a[0] 之后的所有元素之和,也是用这个f()函数计算的。
    这样子函数中调用自己就是递归。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    vgrgd 2021-08-07 14:27

    我想请问一下在第二层递归里面,a[0]会变成a[1]是么

    回复
    CSDN专家-天际的海浪 回复 vgrgd 2021-08-07 14:46

    是的。
    f()函数的第一个参数是数组的首地址。
    第一层f()第一个参数是把&a[0]的地址作为数组的首地址。
    第二层f()第一个参数是把第一层中&a[1]的地址作为数组的首地址。
    这样第二层的a[0]就是第一层的a[1]

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 已采纳回答 8月7日
  • 创建了问题 8月7日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部