如何在c中一次从一串没有空格的字符中取出一个字符作为输入?

2023-12-24

假设“5181 2710 9900 0012”是一串数字。我需要一次从没有空格的数字串中取出一个数字作为输入来进行算术运算。所以,我写的是,

int a[20];
for(int i=0;i<16;i++)
{
scanf("%d",&a[i]);
  }

但它没有给我预期的结果。但是当我使用“%1d”而不是“%d”时,它给了我预期的结果。那么,它是如何运作的呢?


Since scanf is the inverse of printf, you could verify this by printing any number with the modifier (just a little tip).*

一般来说,格式之前的数字是“宽度”修饰符。在这种情况下,这意味着您只将一个字节读入一个数字。如果指定%d,则它可以是任意长度的数字。

Example:

#include <stdio.h>

int main() {
    int a;
    sscanf("1234", "%d", &a);
    printf("%d\n", a); // prints 1234
    sscanf("1234", "%1d", &a); 
    printf("%d\n"m a); // prints 1
}

*) this appears to be false for this particular case. Makes sense that numbers are not truncated when specifiying a %d format, though, since that would change the meaning of the number. However, for many cases you could try what printf would do to predict scanf's behavior. But of course, reading the manual or docs on it is always the more helpful approach :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在c中一次从一串没有空格的字符中取出一个字符作为输入? 的相关文章

  • 使用来自本地对象的消息的 std::Exception

    以下代码是否可以安全地抛出带有自定义消息的异常 include
  • C 中的分段错误

    我需要用 0 填充二维数组 但编译后的程序会出现此错误 怎么了 int main int vert 1001 1001 int hor 1001 1001 int dudiag 1416 1416 int uddiag 1416 1416
  • ZedGraph 缩放和调整大小

    当我绘制图形 放大和缩小并重新绘制图形时 图形的位置不会改变 我想要做的是 每当重新绘制数据时 视图都会更改以查看所有图形数据 如果您在重绘之前放大或缩小 这似乎会被禁用 Thanks 设置属性 IsZoomOnMouseCenter对于控
  • 当“”可以分配给std::string时,为什么有“clear”方法?

    一个可以用string clear函数清空字符串 也可以使用空双引号 来执行此操作 有什么不同 当您分配一个空字符串时 编译器必须在数据部分存储一个空的 C 字符串 并创建代码以将指向它的指针传递给赋值运算符 然后 赋值运算符必须从数据部分
  • 函数原型和数组参数

    我正在学习 C 语法 并且已经开始研究数组了 我想问你一个问题 但首先让我回顾一下 这样我就知道我已经弄清楚了 我知道您可以使用以下语法将变量定义为数组 name
  • ObservableCollection 上的“Cascade”绑定,包含其他 ObservableCollection

    我有一个项目需要显示合同列表 Class Affaire 每个合约都有一个阶段列表 类别阶段 我使用绑定在 2 个不同的 ListView 中显示它们中的每一个 问题是当我从 ListView 中删除一个 Phase 时 显示 Phases
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot
  • 有哪些 API 可在 Windows 中使用 C# 配置扬声器设置?

    我环顾了很多不同的地方 但似乎找不到一个简单的方法来做到这一点 我在 Windows 7 中有多个声卡 并使用 HDMI 将声音输出到我的 AVR 放大器 我遇到的问题是 当放大器关闭时 它会导致窗口丢失扬声器配置 所以我想做的是编写一个小
  • .NET 中 IEqualityComparer 中 GetHashCode 的作用是什么?

    我试图了解 IEqualityComparer 接口的 GetHashCode 方法的作用 下面的例子取自MSDN using System using System Collections Generic class Example st
  • “volatile void function( ... )” 做了什么?

    我见过从语法角度来看 C 函数中 volatile 关键字有多少种用法 https stackoverflow com questions 7643528 how many usage does volatile keyword have
  • 表单.位置不起作用

    我之前问过这个问题 以为我已经解决了 但它仍然不起作用 Form Show 稍微移动表单位置 https stackoverflow com questions 1214014 form show moves form position s
  • Windows Phone HttpClient PostAsync 挂起且无响应

    我在拨打电话时遇到问题HttpClientWP 应用程序的 post 方法 PostAsync总是挂起并且不给出任何响应 当我从 WPF 应用程序中尝试时 相同的代码可以工作 这是我正在做的事情 服务器Web API代码 public cl
  • 一个对大文件有效的轻量级 XML 解析器?

    我需要解析潜在的巨大 XML 文件 所以我猜这排除了 DOM 解析器 是否有任何优秀的 C 轻量级 SAX 解析器 在占用空间上可与 TinyXML 相媲美 XML的结构非常简单 不需要诸如命名空间和DTD之类的高级东西 只是元素 属性和
  • 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录?

    我使用 Visual Studio 2017 使用 vcxproj 文件构建 C 桌面项目 我喜欢默认行为 其中输出目录是项目下面的子目录 例如 myproj sln myproj vcxproj x64 myproj release my
  • 派生类的聚合初始化

    以下代码无法使用 Visual Studio2017 或在线 GDB 进行编译 我期望它能够编译 因为迭代器只是一个具有类型的类 并且它是从公共继承的 这是不允许的还是在 VS2017 中不起作用 template
  • 使用std::begin()、std::end()将ArrayXd转换为stl向量,

    在我看来我应该能够使用std begin and std end 转换ArrayXd to std vector
  • 检测用户是否正在滚动 dataGridView 滚动条

    我正在更新一个dataGridView与一个新的数据表使用 dataGridView1 DataSource table 但是 我不想在用户滚动 dataGridView 时执行此操作 如何检查滚动条是否正在滚动或已完成滚动 即拖动而不是单
  • 没有运算符“<<”与这些操作数匹配[重复]

    这个问题在这里已经有答案了 不知道发生了什么事 我查看了与此问题类似的其他帖子 但到目前为止没有解决方案有帮助 这是带有错误部分注释的代码 在某一时刻 它说 不起作用 而在代码的其余部分中 它说 include
  • 如何通过Task.ContinueWith创建传递?

    我想在原始任务结束时添加一个任务 但想保留原始结果和类型 附加任务仅用于记录目的 例如写入控制台等 例如 Task Run gt DateTime Now Hour gt 12 Hey throw new Exception Continu
  • 如何使用字符串的值将字符串转换为 wstring?

    我是 C 新手 我有这个问题 我有一个名为 DATA DIR 的字符串 需要将其格式化为 wstring string str DATA DIR std wstring temp L s str Visual Studio 告诉我没有与参数

随机推荐

  • swi prolog 中的优化

    假设我想找到 argmax x y z 1 2 20x 2 32xy 16y 2 2x 2y 受 x gt 0 y gt 0 z gt 0 且 x y z 0 我知道偏导数设置为 0 是 20x 16y 2 0 和 16x 16y 2 0
  • onCreate 方法内的屏幕截图在 android 中不起作用

    我正在一个 Android 应用程序中工作 我想在重写的方法 onCreate 中捕获当前活动的屏幕 当我在重写的方法 onCreate 中编写用于捕获屏幕的代码时 位图返回 null 但是 当我在同一活动中单击按钮中调用相同的代码时 位图
  • 在Container中挂载目录并与Host共享

    我以为我理解了文档 但也许我没有 我的印象是 v HOST PATH CONTAINER PATH标志是双向的 如果容器中有文件或目录 它们将被镜像到主机上 这使我们即使在删除 docker 容器后也能保留目录和文件 在官方 MySQL d
  • statsmodels wls_prediction_std 的数学背景

    wls prediction std 返回拟合模型数据的标准差和置信区间 我需要知道如何从协方差矩阵计算置信区间 我已经尝试通过查看源代码来解决这个问题 但没能做到 我希望你们中的一些人可以通过写出 wls prediction std 背
  • Android 在 addTextChangedListener (edittext) 中的某些条件下禁用肯定按钮

    这是我的对话框代码 如果编辑文本中的文本大小大于 5 我想禁用肯定按钮 如果大小 private void myDialog String title AlertDialog Builder builder new AlertDialog
  • 归档日志文件时内存不足错误

    我在运行控制台作业时遇到问题 该作业运行并创建我在午夜存档的每日日志文件 这将创建一个第二天的空白日志文件和一个存档文件 其中名称中包含昨天的日期以及旧文件的内容 用于调试我可能遇到但直到第二天才知道的问题 然而 自从我启动 BOT 的工作
  • 更改默认的 Ruby 参数

    我想更改传递给 Ruby 函数的默认参数 例如 而不是每次都写 1 2 3 do stuff option gt my option 我想修改默认值以便我可以编写 1 2 3 do stuff 更改默认参数的最简单 最干净 最像 Ruby
  • 通过 ssh 密钥访问 GitHub 组织

    也许我是瞎子 但我找不到一种方法来访问通过 SSH 密钥授予我访问权限的组织 我知道直接连接到您自己的帐户很容易 但是我该如何通过组织来做到这一点呢 您帐户的个人 SSH 密钥可识别您的 GitHub 用户 如果组织授予您访问权限 则这是通
  • 行进立方体问题

    我目前正在编写一个程序来使用 C 和 Opengl 实现 Marching Cube 然而 我最好的参考仅来自http local wasp uwa edu au pbourke geometry polygonise http local
  • 在 Rcpp 中的另一个 cpp 文件中定义的函数中使用一个 cpp 文件中定义的函数

    我有一个名为的 C 函数add文件中定义add cpp 内容add cpp below include
  • Mysql暂时抑制唯一索引

    我有一个在两列上有唯一索引的表 准确地说是 id parent 和 sort order id id parent sort order some data other data more data 1 1 1 lorem ipsum lo
  • 如何在 VS Code for Markdown 中禁用 IntelliSense?

    我不想在 Visual Studio Code 中为 Markdown 文件提供单词补全功能 如何禁用它 理想情况下 仅适用于 Markdown 但在最坏的情况下 即使是全局切换也是好的 可以配置 VS Code 中的 IntelliSen
  • SQL Server 2008 R2 的百分位数聚合

    我正在使用 SQL Server 2008 R2 我需要计算每个组的百分位数 例如 SELECT id PCTL 0 9 x for the 90th percentile FROM my table GROUP BY id ORDER B
  • PhpStorm 显示/隐藏主菜单

    我错误地使用 视图 gt 外观 隐藏了 PhpStorm 的主菜单 未选中菜单 我尝试了很多关于如何再次显示主菜单的搜索 不久之后我找到了一个非常简单的方法 Press Double Shift用于到处搜索 现在搜索任何设置或您想要更改的任
  • AudioKit AKPlayer 无法回环到 setPosition 开头

    在 v4 中 如果您使用AKPlayer循环并使用setPositionAPI 玩家在设置的位置之间循环setPosition以及玩家的总持续时间 我需要的是从设置的位置开始setPositionAPI 并在循环发生时循环到开头 我不确定这
  • Mongoose 填充子文档数组

    抱歉 如果已经有人问过这个问题 我的搜索没有出现同样的情况 我有两个架构 如下所示 var experimentSchema new mongoose Schema name string elements type mongoose Sc
  • 使用 Firebase 通过聊天应用进行语音通话

    我正在尝试构建一个简单的聊天应用程序 但它需要与其他用户进行语音通话的功能 我将使用 Firebase 进行消息传递 Firebase 是否支持语音通话 我可以配置外部 SIP 如果你想创建语音通话或视频通话应用程序 也许你可以使用WebR
  • 有没有一种方法可以将复杂度为 O(n) 的矩阵相乘?

    I want to multiply two matrices but the triple loop has O n3 complexity Is there any algorithm in dynamic programming to
  • 为什么使用函数调用而不是变量地址来检测堆栈增长方向?

    我读到了对检测堆栈增长检测问题的不同回答 我了解到 在现代架构中 堆栈可能会随机增长 可能会在堆外创建 等等 然而 在这个经典的面试问题中 我想明白why人们使用函数调用而不是比较同一函数中的两个局部变量 我认为这样做一定有一些特殊的原因
  • 如何在c中一次从一串没有空格的字符中取出一个字符作为输入?

    假设 5181 2710 9900 0012 是一串数字 我需要一次从没有空格的数字串中取出一个数字作为输入来进行算术运算 所以 我写的是 int a 20 for int i 0 i lt 16 i scanf d a i 但它没有给我预