我需要捕获一个数组作为指针 *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
。 - 选择一个哨兵值(您永远不会实际放入
deposit
的值,例如 0、-1、无穷大或 NaN(。在开始写入之前,使用该值初始化deposit
的所有元素。然后在depositSum
中,当下一个值是哨兵时停止循环(或者在读取所有 25 个值后,以防您覆盖最后一个值并且不再有哨兵(。