首页 > 解决方案 > 快速问题:如果 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

解决方案


C 没有提供内置方法来检索您想要的值,因此您必须自己跟踪它。有两种不同的方法可以做到这一点:

  1. 当你填满时deposit,跟踪你用另一个变量填充了多少个槽,然后depositSum也将它传递给。
  2. 选择一个标记值(您永远不会实际放入的值deposit,例如 0、-1、Infinity 或 NaN)。deposit在开始写入之前使用该值初始化 的所有元素。然后在 中depositSum,当下一个值是哨兵时停止循环(或者在读取所有 25 个值之后,以防您覆盖最后一个并且没有更多的哨兵)。

推荐阅读