A-A+

以下程序运行后的输出结果是______。 int f(int a[] int n) { if

2022-08-12 19:20:38 问答库 阅读 197 次

问题详情

以下程序运行后的输出结果是______。 int f(int a[],int n) { if(n>=l) return f(a,n-1)+a[n-1]; else return 0; } main { ) { int aa[5]={1, 2, 3, 4, 5}, s; s=f(aa,5); printf{%dn",s); }


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:15
在函数f()中只有一条if语句,如果n不小于1,则返回f(a,n-1)+a[n-1);,否则返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)实际返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本题最终输出15。

考点:程序