c - 如何在 C 中声明一个条目数量未知的数组?

标签 c arrays function

问题如下: 编写一个函数,提示用户输入一系列正整数,以值 -1 结尾。然后,该函数必须返回用户输入的最大值和最小值。您可以假设用户在输入 -1 之前至少输入了一个正整数。

所以我的想法是创建一个数组来存储所有输入的值。唯一的问题是我不太确定如何声明一个条目数量未知的数组,因为显然我不知道用户将在 -1 之前输入多少个整数。

然后对于后一部分,我想使最大/最小=arr[0],然后index++,一次arr[index]>maximum或arr[index]

谢谢!

最佳答案

使用动态内存分配函数,例如 malloc calloc 和 realloc 或者,如果您有兴趣编写一些真正好的代码,请使用链表。

顺便说一句,是否有必要将所有数字存储在一个数组中???你可以即时检查最小值和最大值???

一个简单的算法是:

int maxval=0, minval = 0;
while(inputval != -1)
{
    if(inputval < minval)
       minval = inputval;

    if(inputval > maxval)
       maxval = inputval;
}

关于c - 如何在 C 中声明一个条目数量未知的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15151331/

相关文章:

c - GtkNoteBook 信号处理问题

javascript - .includes() 检查 prompt() 中的关键字

java - 是否可以在 Java 中使用相同的插入函数每次使用不同的参数(键和值)将记录插入 MySQL?

C# 互操作 : Returning struct from unmanaged code with out parameter gives strange results

c - fgetc 总是返回 EOF

c - 为什么 int 可以容纳 10 位数字,但不能容纳另一个整数的 9 位数字?

mysql - Excel VBA : recordset joining and performance

ruby-on-rails - 在 Ruby on Rails 中将数组/哈希转换为 YAML

带有两个参数的 iPhone 方法声明

c - 从函数返回字符数组打印垃圾值但在函数中打印正常?