结果是:3;
该程序的意思是,该数组的奇数减去偶数再求和;
#include
int f(int a[],int n)
{
if(n%2==0)
{
if(n>=1)
return f(a,n-1)-a[n-1];//整除且》=1除的时候,返回,继续调用该函数;这样好控制数组的下标问题;
else
return 0;
}
else
{
if(n>=1)
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("%d\n",s);
}
这个是数组的连续子段求和,f(aa + 2, 4)说明从从数组aa中的第三个数3开始后的4位数相加,也就是3 + 4 + 5 + 6,所以结果是18
亲,你的问题表述不太清楚。比如你具体想要求解答什么? 这段代码比较少,如果简单说没两句就完了,不知道你想了解什么程度的,或是想了解什么方面的?