我有一个函数,它需要一个数组a[]
及其长度n
。我必须计算数组内数字的总和。我写这个递归函数:数组整数的递归函数
int somma(int a[], int n)
{
if (n == 0) { return 0; }
else {return a[n] + somma(a, n-1);}
}
我这样称呼它在我main()
:
int main() {
int array[5], ris;
printf("Type the numbers of the array: \n");
for(int i=0; i<4; i++)
{
scanf("%d", &array[i]);
}
printf("\nThe sum is: %d.", somma(array,4));
getch();
return 0;
}
如果数组包含array = [2; 4; 7; 5]
中的printf必须显示18(2 + 4 + 7 + 5) 。顺便说一下,函数返回我88,你能帮助我吗?
我正在使用wxDevC++。
不要忘记'a [0]'也是数组的一个元素,'somma'跳过了。 – Kninnug