c - 快速问题:如果 i < 存储在数组中的最大数字量,如何说?
问题描述
我需要将一个数组作为指针 *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、Infinity 或 NaN)。deposit
在开始写入之前使用该值初始化 的所有元素。然后在 中depositSum
,当下一个值是哨兵时停止循环(或者在读取所有 25 个值之后,以防您覆盖最后一个并且没有更多的哨兵)。