gpt4 book ai didi

c - 如何读取不确定长度的数字输入?

转载 作者:行者123 更新时间:2023-11-30 15:29:45 25 4
gpt4 key购买 nike

我被一个问题困扰了一段时间,我需要读取表单中用户的输入,

5 1.2 2.3 3.4 4.5 5.6

其中第一个整数是预期的 float ,然后后面的 float 是我需要存储在该大小的数组中的值。我不断返回错误的代码是,

...
int i = 0, j, k;
float value, *ptr;
// For every element in inputArr...
while (i < inputLength) {
printf("Enter the number of values in this data set, followed by the values: ");
// Get the int value for array creation...
scanf("%d ", &j);
printf("%d", j);
// Save it for the calculations later.
*(lengths + i) = j;
// Create dynamic array of floats.
*(inputArr + i) = calloc(j, sizeof(float));
ptr = *(inputArr + i);
// For the rest of the input read the floats and place them.
k = 0;
while (k < j-1) {
scanf("%f ", &value);
*(ptr + k) = value;
k++;
}
scanf("%f\n", &value);
*(ptr + j - 1) = value;
i++;
}

当我输入上面的输入时,这会引发段错误。有人可以告诉我我做错了什么来帮助我吗?

最佳答案

您不必在 scanf 调用中包含空格和字符串结尾。

scanf("%d", &j);

输入/输出

scanf("%d ", &j);

scanf("%f", &value);

输入/输出

scanf("%f\n", &value);

等等

关于c - 如何读取不确定长度的数字输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26088854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com