黑马程序员技术交流社区

标题: 搞了两个点,还是不懂?请大神帮忙 [打印本页]

作者: HSQI    时间: 2016-4-22 00:46
标题: 搞了两个点,还是不懂?请大神帮忙
第二次循环的时候,还没等我输入,就跳过了,怎么回事呀?有图如下:



作者: HSQI    时间: 2016-4-22 00:47
不行了,要死要死了,救命
作者: 烛风小糊涂    时间: 2016-4-24 00:26
楼主在 fflush(stdin);   之前加一行getchar();就可以了。
作者: HSQI    时间: 2016-4-24 00:46
烛风小糊涂 发表于 2016-4-24 00:26
楼主在 fflush(stdin);   之前加一行getchar();就可以了。

为什么这样就可以了呀?大神
作者: 烛风小糊涂    时间: 2016-4-25 17:25
HSQI 发表于 2016-4-24 00:46
为什么这样就可以了呀?大神

首先我不是大神啊~

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

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

强烈建议问老师,顺便告诉下我呀~!以上只是猜测~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2