我需要捕获一个数组作为指针 *deposit[25] 此时这已在其他函数中更改,它正在从 main 中捕获。我想计算数组中输入的所有值的总和,这对我来说不应该是问题,除了......我如何在最后一个值处停止?
就像我说的那样
void depositSum(float *deposit[25], float *sum)
{
int i = 0;
for (i = 0; i <= (the ammount of numbers that have been entered into deposit[25]); i++ )
}
how would i translate that from pseudocode to actual C???
最佳答案
C 没有提供内置方法来检索您想要的值,因此您必须自己跟踪它。有两种不同的方法可以做到这一点:
- 当您填充
deposit
时,请跟踪您用另一个变量填充了多少个槽位,然后将其也传递给depositSum
。 - 选择一个哨兵值(您永远不会实际存入的值,例如 0、-1、Infinity 或 NaN)。在开始写入之前,使用该值初始化
deposit
的所有元素。然后在depositSum
中,当下一个值是哨兵时停止循环(或者在读取所有 25 个值后,以防覆盖最后一个而不再有哨兵)。
关于c - 快速提问 : how to say if i < the max ammount of numbers stored in an array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52285719/