gpt4 book ai didi

c - 数组的递归和

转载 作者:太空宇宙 更新时间:2023-11-04 03:33:10 29 4
gpt4 key购买 nike

我试图打印出我返回的总和的结果,但由于某种原因它打印出 0,但是当我检查函数内部的总和时它正确地执行了它的目标。例如,如果我传入一个包含 10 个项目的数组,每个项目都等于它们的索引 (0...9),则函数内的总和为 45,但是当我在 main() 中将其打印出来时,它会打印 0。我真的很困惑至少可以说。

这是我的函数,我使用它来调用:

printf("%d\n", addArray3(arrayA, 9, 0));

澄清一下,arrayA 是一个指向 10 项整数数组的指针。

// Sums array using recursion
int addArray3(int (*arrayA)[], int n, int sum){
if (n<0){
return sum;
} else {
sum += (*arrayA)[n];
}
addArray3(arrayA, --n, sum);
}

如果有人能解决这个问题,我将不胜感激,谢谢!

最佳答案

您在最后一行缺少回车。在打开所有警告的情况下编译,它可能会为您找到。

关于此行为的相关问题涵盖了这里发生的事情(没有返回):Implicit int return value of C function

关于c - 数组的递归和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34542383/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com