学好编程! 2022-05-29 19:41 采纳率: 96.8%
浏览 17
已结题

怎么做呢 绕不过来 求详细解释

2.

#include <stdio.h>
int f(int a[],int n)

if(n>1) return a[0]+f(&a[1],n-1);
else return a[0];

int main()

int aa[3]={1,2,3},s;
s=f(&aa[0],3);
printf("%d",s);
return 0;

  • 写回答

1条回答 默认 最新

  • 浪客 2022-05-29 21:02
    关注
    int f(int a[],int n)  相当于int f(int *a,int n)
    f(&aa[0],3);  则是f(aa,3);,传入整个数组
    
    f(&a[1],n-1); 则是传入第二个元素开始的数组。
    
    f是从数组后面往前累加,结果是数字元素之和。
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 5月29日

悬赏问题

  • ¥20 思科:Router c3600 MN-4E插槽
  • ¥15 16进制修改视频的元数据
  • ¥15 岛津txt格式文件转nirs格式
  • ¥15 石墨烯磁表面等离子体
  • ¥15 angular 项目无法启动
  • ¥15 安装wampserver,图标绿色,但是无法进入软件
  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Ubuntu虚拟机设置
  • ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项