【问题标题】:How to input n number of elements into an array using scanf()?如何使用 scanf() 将 n 个元素输入到数组中?
【发布时间】:2019-04-02 15:56:57
【问题描述】:

有没有办法使用scanf()n 的输入输入到数组中,其中n 不固定?

scanf("%d %d %d %d ... n number of inputs", &array);

问题是用户输入了一个数组的大小,输入的格式是输入用scanf单行存储,所以是这样的形式

12 24 36 34 65 24 54 ... upto n inputs

所以第一个%d 存储在array[0],第二个存储到array[1],第三个存储到array[2],一直到array[n-1]

为此创建一个for 循环很容易,但我想在一行中完成。

【问题讨论】:

  • 既然已经知道一种简单的方法,为什么还要在一行中完成?
  • “我想在一行中完成。”除了编写自己的函数来完成之外,您不能在一行中完成。但话又说回来,如果你写一个函数,它就不会是一行。
  • 阅读此stackoverflow.com/questions/11695237/… 并使用 vfscanf() ... :-)
  • n的范围是多少?

标签: c arrays scanf


【解决方案1】:

不是单线,但仍然很短

while(i < n && scanf("%d", &array[i]) == 1)
    i++;

你应该经常检查scanf函数的返回值。
不要忘记用0初始化i

【讨论】:

  • 不要在 i++ 之前换行 - 它是单行。
猜你喜欢
  • 2022-01-11
  • 1970-01-01
  • 2015-04-06
  • 2020-06-07
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 2016-09-07
  • 2011-03-31
相关资源
最近更新 更多