printf后面的语句会连续输出两次

printf括号里面的语句会连续输出两次,不知道是怎么回事。printf("Doyouwanttohaveasetfor\"nosmoking\"(yorn):");ge... printf括号里面的语句会连续输出两次, 不知道是怎么回事。
printf("Do you want to have a set for \"nosmoking\" (y or n): ");
getchar();
scanf("%c", &h);

getchar()函数是后面加上的, 加上后程序能正确运行。 没加之前printf会把括号里面的内容连续输出两次。还是不太明白修改后的程序为什么能正确运行, 望高手指点下。 另外代码没有在循环里面。
展开
 我来答
mythcaviar
2010-04-16
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
你最好把代码粘贴上来,好让大家看一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dzt530
2010-04-16
知道答主
回答量:22
采纳率:0%
帮助的人:11.4万
展开全部
你是不是放循环里了,看看代码吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liujie151376
2010-04-17 · TA获得超过411个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:198万
展开全部
估计你把代码放在循环体里面了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SGZ我爱罗
2010-04-18 · TA获得超过265个赞
知道答主
回答量:49
采纳率:0%
帮助的人:65.3万
展开全部
这一小段没问题,不知道是不是放在什么循环里了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
其春芳郸贞
2019-12-10 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:965万
展开全部
因为输入输出流没清空,第一个printf之后scanf马上读入了一个值,于是再次循环
在printf("\n你还想继续吗(y/n)?");前加上一句fflush(stdin);来清空输入流就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式