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

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;

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是从数组后面往前累加,结果是数字元素之和。