C语言,scanf ()与getchar( )问题

 我来答
宣实庆巳
2019-11-30 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.4万
采纳率:26%
帮助的人:645万
展开全部
getchar(),是读入一个字符,不是清除缓存,由于你一般输入都是以回车结尾,实际上在计算机里,回车是一个字符,‘\n’,而读入的数据不包括这个‘\n’,所以他会留在输入缓冲区等待下一次输入(如果有的话),
所以有的时候在scanf后面加个getcahr(),可以起到清楚缓存的作用,不过这不是一定的,具体清除缓存方法还要视情况来定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爬在丘1C
2019-10-18 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:720万
展开全部
清理缓存用的是fflush(stdin);

而getchar()是从标准输入中获取一个字符大小的数据。只因他能接收回车,故常常在scanf()后使用接收scanf接收不了回车字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式