鱼C论坛

 找回密码
 立即注册
查看: 2644|回复: 5

关于scanf函数的一点疑问

[复制链接]
发表于 2011-4-30 00:01:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 wy54072851 于 2011-5-2 13:48 编辑

最近在研究动态链表,题是做出来了,但只能完全正确的输入才能正确运行,而现实是用户不可能这样做,于是我就想用条件限制用户输入非指定数时做空运行再接受输入,这时出现了个问题。。。如下:
int s;
scanf("%d",&s);
while(s && s != EOF)
{
printf("12345");
scanf("%d",&s);
}
//这样的话如果我输入A,屏幕就不执行scanf语句而无限刷新12345。。。
scanf("%d",&s);
if (s > n || s < EOF)
{
s = n++;                //n 为功能数,如有3个功能n就为3
}
while(s &&  s != EOF)
{
printf("12345");
scanf("%d",&s);
}
//这样的话我输入A,while语句没有被执行。。。
请高手解答下为什么,以及如何才能让用户任意输入而不使程序挂掉?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-30 02:22:19 | 显示全部楼层
printf("12345");
getchar();                 //中间加上一句
scanf("%d",&s);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-30 15:04:07 | 显示全部楼层
scanf("%d",&s); 这句如果碰到用户输入字符的话  会自动跳过段代码,搜索后面是否有接收字符的代码,从而形成死循环

点评

喔~~原来如此!谢谢哈~  发表于 2011-4-30 23:31
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-4-30 22:04:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-5-2 08:21:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-12-14 16:20:21 | 显示全部楼层
没有什么的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-19 09:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表