A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第二次循环的时候,还没等我输入,就跳过了,怎么回事呀?有图如下:


4 个回复

倒序浏览
不行了,要死要死了,救命
回复 使用道具 举报
楼主在 fflush(stdin);   之前加一行getchar();就可以了。
回复 使用道具 举报
烛风小糊涂 发表于 2016-4-24 00:26
楼主在 fflush(stdin);   之前加一行getchar();就可以了。

为什么这样就可以了呀?大神
回复 使用道具 举报
HSQI 发表于 2016-4-24 00:46
为什么这样就可以了呀?大神

首先我不是大神啊~

然后其实这个我也不太懂,但是之前遇到过这样的情况,所以知道这么解决;

感觉可能是缓冲区里面多了一个‘\n’吧,然后新的循环gets()直接把‘\n'给接收了,所以getchar()用作吸收一个'\n'字符。

强烈建议问老师,顺便告诉下我呀~!以上只是猜测~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马