我想将给定的 n 个值(n 已知)存储在一个数组中,但我不知道该怎么做,所以我查看并找到了这篇文章:C, read multiple numbers from single input line (scanf?),还有这个回答:
int main()
{
int i, size, *v;
scanf("%d", &size);
v = malloc(size * sizeof(int));
for (i=0; i<size; i++)
scanf("%d", &v[i]);
printf("%d %d %d", v[0], v[1], v[2]);
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么 scanf 可以这样做,函数不应该在循环的每次迭代中要求另一个输入吗?只要它们以空格分隔,它如何读取一个int,然后读取另一个等等?scanf 怎么会这样呢?因为好像不应该。
PS:为了简单起见,我只用 3 个值编写了最终的打印语句,在“我的情况”中,大小为 3。
先感谢您!
c ×1