输入字符后,回车调到第三步,没有执行第二步

文章讲述了在编程中,当从终端获取用户输入姓名、性别和年龄时遇到的错误,特别是在换行符 导致的问题。通过使用`getchar()`函数清除上一次输入的遗留缓冲,解决了在进行多个输入时的终端输出不正确问题。
摘要由CSDN通过智能技术生成

题目:以表格方式输出 姓名  性别  年龄  分数

第一次完成的代码

终端输出错误

在输入姓名  ton按下回车后,自动跳转到请输入年龄,不能输入性别

错误情况:在进行多个输入的时候,有%c输入的情况中,要把上一次输入遗留缓冲区的“

\n”去除,在输入姓名的时候按下回车键,输入性别自动识别了“\n”,在最后终端就会输出空行,所以我们要用getchar函数来把上一次输入遗留的“\n”去掉。

代码修改

使用while(getchar()!='\n');

所以后面输入遗留的“\n”都被去除掉,终端输出正确。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值