gpt4 book ai didi

c - 如何正确验证 scanf 中读取了多少输入

转载 作者:行者123 更新时间:2023-11-30 16:40:03 24 4
gpt4 key购买 nike

如何正确查看我的 scanf 函数中读取了多少输入?当我运行下面的代码时,它不显示结果,这是因为我没有从 scanf 读取 2 个输入还是其他原因这是我的代码:

#include <stdio.h> 

int main()
{
float numberOne;
float numberTwo;

scanf("%f %f", &numberOne, &numberTwo);
float result = numberOne + numberTwo;

int howManyRead = scanf("%f %f", &numberOne, &numberTwo);

if ( howManyRead == 2)
{
printf("%f", &result);
}
else
{
printf("invalid input");
}
sleep(10);

}

最佳答案

您的代码中有两次 scanf 调用。第一个调用的结果将被忽略,而第二个调用的结果将被检查。

当您输入两个数字时,第一个 scanf 返回 2,您的代码会忽略该值。之后,对第二个 scanf 的调用尝试读取另外两个数字。

您可以通过删除对 scanf 的第一次调用来解决此问题:

float numberOne, numberTwo;
if ( scanf("%f %f", &numberOne, &numberTwo) == 2) {
float result = numberOne + numberTwo;
printf("%f", result);
} else {
printf("invalid input");
}

关于c - 如何正确验证 scanf 中读取了多少输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46812976/

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