gpt4 book ai didi

c - 为什么 ScanF 从字符串中获取两个输入

转载 作者:行者123 更新时间:2023-11-30 21:16:47 25 4
gpt4 key购买 nike

当我键入一个字符并且需要一个整数时,第一个 ScanF 会同时接受两个输入。

见下图:enter image description here

正如您所见,当我为 ScanNum_A 键入“55ape”时,它设置 ScanNum_B = 0。为什么会出现这种情况?

最佳答案

发生这种情况是因为ape 仍然留在输入流中,您的第二个 scanf 尝试读取它,但失败了,因为它期望 integer 但发现 chars

您可以在第一次 scanf 后清除输入缓冲区,如下所示。

//first scanf

int c;
while ((c = getchar()) != '\n' && c != EOF) { }


//second scanf

关于c - 为什么 ScanF 从字符串中获取两个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58391379/

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