刚开始学c语言,如图的程序要录入姓名和成绩,但是第二个循环的时候好像就直接跳过了字符输入的部分,但

刚开始学c语言,如图的程序要录入姓名和成绩,但是第二个循环的时候好像就直接跳过了字符输入的部分,但是去掉录入成绩的部分就正常了。求解决和解释。... 刚开始学c语言,如图的程序要录入姓名和成绩,但是第二个循环的时候好像就直接跳过了字符输入的部分,但是去掉录入成绩的部分就正常了。求解决和解释。 展开
 我来答
kaixingui2012
2015-05-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6188万
展开全部
在gets()前加一句fflush(stdin); //清除缓存中的回车!!这样就好了。

因为,你在后面的Scanf()中会按回车来确认输入,而这个回车就存到了缓存中,而成了gets()输入的数据了。
追问
采纳!
还有没有别的办法,因为这个函数没学过,我想能不能用别的方法解决
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式