int f(int a[],int n)
{if(n>=1) return f(a,n-1)+a[n-1];
else return 0;
}
void main()
{ int aa[5]={1,2,3,4,5},s;
s=f(aa,5);
printf("%d",s);
}
不太懂为什么这段代码的结果 ,求分析让我理解一下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
陆宇杭 2022-01-13 16:54关注就是通过函数迭代的方式去求数组的所有元素和。第一次代入f(aa,5),return的是f(a,4)+a[4]。 然后f(a,4)就是f(a,3)+a[3],不断迭代,直到n为0,最后结果就是a[4]+a[3]+a[2]+a[1]+a[0]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报