首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >scanf的问题

scanf的问题
EN

Stack Overflow用户
提问于 2010-05-16 02:46:59
回答 3查看 551关注 0票数 1

我在使用这段代码时遇到问题:

代码语言:javascript
运行
复制
   while(scanf("%d",&numOfPlayers)!=1){
        printf("Please enter the right number of players");    
    }

我的目的是从用户那里读取一个数字,并一直询问,只要输入不是int。例如,当我运行这段代码并输入'r‘时,我陷入了无限循环。可能的问题是什么,我如何改进它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-16 02:59:58

如果scanf()无法读取输入,那么它实际上并不读取输入,因此在示例中它会反复读取相同的输入。您可以像这样丢弃无效的输入:

代码语言:javascript
运行
复制
while(scanf("%d",&numOfPlayers)!=1){
  scanf("%s");
  printf("Please enter the right number of players\n");
}
票数 3
EN

Stack Overflow用户

发布于 2010-05-16 02:50:17

尝试将字符串扫描到缓冲区中,然后使用sscanf()在该字符串中搜索您的号码。

票数 1
EN

Stack Overflow用户

发布于 2010-05-16 03:23:35

来自comp.lang.c常见问题解答:Why does everyone say not to use scanf? What should I use instead?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2841324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档