问题
填空题
下面程序的运行结果是 【17】 。
int f(int a[],int n)
if(n>1)return a[0]+f(&a[1],n-1);
else return a[0];
main()
int aa[3]=1,2,3,s;
s=f(&aa[0],3);
printf("%d\n",s);
答案
参考答案:F
解析: 经过分析将递归函数写成其数学表达式如下:
[*]
本题中定义了一个长度为3的数组aa并初始化。接着调用递归函数f,由上面的数学表达式以计算其返回值s=1+2+3=6,所以空格处应该填6。