0
点赞
收藏
分享

微信扫一扫

C语言中连续两个scanf第二个不识别问题

small_Sun 2022-03-13 阅读 51

当在C语言中需要两个及以上scanf,运行时却发现只能第一个可以输入,通过查询得知在C语言中,如果使用字符型变量(char类型)时在有连续输入两个及以上的情况下,很容易因为出现垃圾字符二导致程序的流程非法。因为第一个scanf输入后当我们点击enter时第一个存放字符串的(str1)并没有接受这个回车符,而是存入缓冲区中了,当执行第二个scanf时这个回车符就赋给(str2)了所以程序没有提示输入字符就直接执行下面程序了。

解决方法:可以使用fflush (stdin);函数 此函数是清除缓冲区的,将此函数放到第一个scanf输入函数后即可。

举报

相关推荐

0 条评论