gpt4 book ai didi

c - Scanf 检查整数的读取不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:08 24 4
gpt4 key购买 nike

我正在测试 scanf 函数,以检查它是否已根据用户输入读入一个值(整数)。在我的 netbeans IDE 中,程序可以编译,但在输入 x 值(如“6”)时什么也没有发生,直到再次输入,然后程序继续正确 react ,打印第一个 if 语句。对此问题的任何帮助将不胜感激:

这里是一个片段:

int main(void)
{
int x;
printf("please enter a value for x");
scanf("%d",&x);

if(scanf("%d",&x) == 1) // checks to see if it contains one value
printf("x value has one value");

else
printf("X value is not an integer or has more than one value");

}

最佳答案

那是因为你有两个scanf s 在你的代码中(一个在 if 之前,另一个在 if(...) 中)。当您输入 6 , 第一个 scanf拿起它,然后是第二个 scanfif(...)里面等待下一次输入,让您输入两次。

删除第一个 scanf你的程序将运行良好!

关于c - Scanf 检查整数的读取不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26813718/

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