接受来自 scanf 函数的任意数量的输入

2023-11-24

我正在尝试使用读取未知数量的输入scanf功能。

int a[100];
int i = 0;

while((scanf("%d", &a[i])) != '\n')
 i++;

// Next part of the code

但是这个函数不会进入代码的下一部分,似乎有一个无限的 while 循环。

如何解决这个逻辑错误?还有其他替代方案吗scanf like sscanf将整数读入数组?


scanf返回已成功匹配和分配的输入项的数量,因此这样做是合理的:

while(scanf(...) == 1)

现在您希望能够读取多个数字,每个数字都在新行上定义。然后你可以简单地这样做:

int array[100];
int i = 0;

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

note that this reading will stop only if invalid input is entered (for example letter q) or when you input the end-of-input control code, which is Ctrl+Z (on Windows) or Ctrl+D (on Mac, Linux, Unix).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接受来自 scanf 函数的任意数量的输入 的相关文章

随机推荐

  • 有没有办法为同一 DAG 中的任务配置不同的“重试”

    我有一个 DAG 里面有很多子任务 在 DAG 的中间 有一个验证任务 根据任务的结果 返回代码 我想采取两条不同的路径 如果成功 将遵循一条路线 一系列任务 如果失败 我们将执行一组不同的任务 当前方法有两个问题 一是如果退出代码为 1
  • 在 Android 中发布 ID facebook 共享对话框始终返回 null

    我使用了测试应用程序 ID 并通过测试用户在 facebook 开发网站上的 dash board 应用程序中创建进行登录 使用 facebook sdk 的登录按钮小部件登录时需要 pulish actions 权限 但结果得到的 pos
  • Linq-to-Entity 左 JOIN

    这是我的查询 from forum in Forums join post in Posts on forum equals post Forum into postGroup from p in postGroup where p Par
  • int 和 char 之间的实际区别

    我必须分析这些代码片段的输出 int x y x 200 y 100 x x y y x y x x y printf d d n x y char x y x 200 y 100 x x y y x y x x y printf d d
  • 使用 SpanSizeLookup 设置 GridLayoutManager 中项目的跨度

    我想使用节标题实现类似网格的布局 考虑到https github com TonicArtos StickyGridHeaders 我现在应该做什么 mRecyclerView RecyclerView view findViewById
  • Mac OS X (Darwin) 下的 AF_PACKET 等效项

    我正在尝试在 Mac OS X 上编译一个使用 AF PACKET 套接字和 libpcap 的 C 程序 OS X 中的等效项是什么 Mac OS X 以及其他 BSD 风格的操作系统 例如 FreeBSD NetBSD OpenBSD
  • NSNumberFormatter:大量显示“k”而不是“,000”?

    如果可能的话 我想将我的大数字从 100 000 美元更改为 10 万美元 这是我到目前为止所拥有的 let valueFormatter NSNumberFormatter valueFormatter locale NSLocale c
  • 为什么 Java if 语句以分号结尾时会失败 [重复]

    这个问题在这里已经有答案了 我在开发应用程序时犯了一个编码错误 这是对空引用的测试 我花了几个小时才发现问题所在 但我不明白的是为什么代码会这样 String name null String value null if name null
  • Scikit-learn:如何水平标准化行值?

    我想水平地而不是垂直地标准化下面的值 该代码读取代码后提供的 csv 文件 并输出具有标准化值的新 csv 文件 如何使其水平标准化 给出的代码如下 Code norm code py normalization x min max min
  • 如何更改谷歌地图默认当前位置标记颜色

    我想更改默认电流位置标记颜色 from 蓝色到其他 任何人都可以帮助我如何做到这一点 以下是我要更改的图标颜色 EDIT 您无法更改默认值 您必须拥有并隐藏默认值 您可以通过将自己的标记添加到地图来使用它们 MarkerOptions ma
  • 连接 Oracle 中 SQL 查询的结果

    我的表中有这样的数据 NAME PRICE A 2 B 3 C 5 D 9 E 5 我想在一行中显示所有值 例如 A 2 B 3 C 5 D 9 E 5 我该如何进行查询才能在 Oracle 中得到这样的字符串 我不需要将它编程成某种东西
  • 数据表标题未对齐

    下图显示了单击文本框 搜索 过滤 之前数据表未对齐的标题 一旦后者成为焦点 标题就会再次对齐 我注意到当scrollY关闭时标题很好 我需要它 知道如何解决它 在下面的代码片段中 只需更改分页选项 您就可以再次看到标题的重新对齐 RegSr
  • Kotlin - 数据类实体抛出 StackOverflowError

    我尝试将 kotlin 版本 1 2 21 与 spring boot 1 5 9 RELEASE 结合起来 我在使用带有 Entity 注释的数据类时遇到了问题 我的有问题的实体如下所示 Entity Table name APP USE
  • OpenMP 递归任务

    考虑以下计算斐波那契数的程序 它使用 OpenMP 任务进行并行化 include
  • OpenJDK 适用于 Windows 操作系统 [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 是否有适用于 Windows 的 OpenJDK 安装程序 并且免费更新的时间可能比 Oracle 提供的时间更长 OpenJDK 主页 http
  • 为什么 Javascript `iterator.next()` 返回一个对象?

    帮助 在使用 C 编程相当长一段时间后 我正在学习喜欢 Javascript 但我一直在学习喜欢可迭代协议 为什么 Javascript 采用protocol这需要为每次迭代创建一个新对象 为什么有next 返回一个带有属性的新对象done
  • MySQL:存储过程中的 IF / THEN 语句

    我正在编写一个使用多个 IF THEN 语句的存储过程 如果它们的计算结果为 true 则还需要执行多个查询 问题是 我似乎找不到任何适当语法的示例 来自MySQL 开发手册 似乎我可以在 statement list 中进行多个查询 但到
  • Thread.sleep 等待时间超出预期

    以下代码 long msBefore System currentTimeMillis Thread currentThread setPriority Thread MAX PRIORITY try Thread sleep 200 ca
  • 查找 MySQL JSON 对象或数组的交集

    问题是关于MySQL MariaDB JSON 函数 如何找到多个 JSON 结构的交集 在 PHP 中 它是使用以下代码完成的 array intersect a b b c 如果我们想象一个名为 JSON INTERSECT 的函数 代
  • 接受来自 scanf 函数的任意数量的输入

    我正在尝试使用读取未知数量的输入scanf功能 int a 100 int i 0 while scanf d a i n i Next part of the code 但是这个函数不会进入代码的下一部分 似乎有一个无限的 while 循