关于scanf的输入输出问题

直接上图

img


当我在scanf里输入[5,3]这种区间时,在第二个scanf里第一位不添加 [ 时输出正确

img


添加后输出错误;此时必须在第二个前添加getchar();后结果才能正确

img


我只知道scanf是通过空格或者回车符来判断输入完成的,那这个getchar()也就是吃掉在缓冲区里的一个间隔符,实在想不通对第二个scanf的影响,求大佬解答

供参考:

记得没错的话scanf它有一个输入缓冲区,加入getchar之后可以拿掉这个输入缓冲区,当然也可以scanf后面加一个\n

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^