Visual Studio 2010写C语言scanf输入多项值就会出错!输完第一个回车便报错。

编写一个程序,输入第一个值后还要输入第二个值或者第三个值但第一个值输完回车后就会报错,无法输入第二个值,提示错误!我照着教程练习了40个例子左右,但凡是遇到scanf多项... 编写一个程序,输入第一个值后还要输入第二个值或者第三个值
但第一个值输完回车后就会报错,无法输入第二个值,提示错误!
我照着教程练习了40个例子左右,但凡是遇到scanf多项输入都会这样,不知道是什么原因,求大神回答!代码基本确认无错。需要的话可以贴出来
展开
 我来答
繁星翼丶
2012-05-19
知道答主
回答量:11
采纳率:0%
帮助的人:7万
展开全部
问题的关键是scanf函数的运行机制:
当连续进行数值与字符的输入时,一旦输入的不是数字或小数点,系统就将它解释为字符,赋给了后面的字符变量。
程序中你用scanf( "%f ",&num);(尽管有printf一名,但没有作用)后面跟着又scanf( "%c ",&people);时,系统将你的输入num后的回车(或空格)赋给了people。因此程序不能正确执行。
当你用%s输入时,系统是将空格或回车解释为前一项结束,后一项开始,因此可以正确执行程序。
要解决这个问题,你可将字符的输入换成:
people=getche();
lab=getche();
应能解决。
dufenglei908
2012-05-19 · TA获得超过6372个赞
知道大有可为答主
回答量:1449
采纳率:60%
帮助的人:774万
展开全部
检查你的scanf语句的参数是变量的地址还是变量吧
例如
int a;
scanf("%d", a); // 需要写成scanf("%d", &a);
这个问题很容易被忽视
希望我的判断是正确的并且可以帮助你解决问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kylinkings
2012-05-19 · 超过14用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:36万
展开全部
贴!scanf语句
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花样_花心
2012-05-19 · TA获得超过439个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:79.7万
展开全部
代码要看一下啊,否则找错挺难的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式