gpt4 book ai didi

c - 如何在不输入值的情况下终止 scanf()?

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:35 25 4
gpt4 key购买 nike

#include "stdio.h"
main()
{
int option;
printf("Enter the value :");
scanf("%d",&option);
printf("Your value is %d\n",option);
}

这是我的简单 C 程序,用于从用户获取值并打印它。我有个疑问为什么 scanf 等到输入值,它不会在\n 即按下回车键时终止。

例如:

16:26:40-$./a.out
Enter the value: <-|
<-|
<-|
<-|
<-|
<-|
<-|
1
Your value is 1

我需要清晰的概念,解决方案是什么?

提前致谢

最佳答案

scanf 的工作原理:

对于 scanf 格式字符串中的每个转换说明符,它会尝试在输入中找到适当类型的项目,必要时跳过空格。然后它读取该项目并在遇到不属于该数据项目的字符时停止。

如果是

scanf("%d",&option);  

optionint 数据类型。 scanf 搜索数字的开头并忽略空白字符(换行符、空格、制表符等),这就是它等待输入整数的原因。 p>

关于c - 如何在不输入值的情况下终止 scanf()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069718/

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