C语言中当输入一个字符或数字后要要按下enter键,但enter键在提示计算机用户输入完成后也传达

了换行的命令,如何enter键的这种影响呢?
2025-03-22 08:59:20
推荐回答(2个)
回答1:

其实是在输入后键入内容和回车一起进入到了缓冲区
如果没有把缓冲区内容读完那么下次再从缓冲区获取数据时就直接使用了遗留的缓冲区数据
一般来说会以换行符为结束 如果输入错误的话也会遗留其他数据
如果缓冲区只有一个换行符的话可以使用getchar来吸收换行符
或者fflush(stdin); rewind(stdin);来清空缓冲区

回答2:

用getchar吸收回车