c - 快速提问 : how to say if i < the max ammount of numbers stored in an array?

标签 c

我需要捕获一个数组作为指针 *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 没有提供内置方法来检索您想要的值,因此您必须自己跟踪它。有两种不同的方法可以做到这一点:

  1. 当您填充deposit时,请跟踪您用另一个变量填充了多少个槽位,然后将其也传递给depositSum
  2. 选择一个哨兵值(您永远不会实际存入的值,例如 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/

相关文章:

c - 将CPU和内存管理模型整合在一起

c:释放 char* 而不破坏 char**

带数据结构指针参数的 C 函数

c - C 中的 JSON 解析器(打印 JSON)

c - 对 32 位整数进行按位操作

c - 遍历奇数和 2

c - C 中的字符串相乘

c - 为什么这里会引发读取访问冲突

c - 对文件的操作

有人可以向他解释一下这段代码是如何工作的吗?