C语言中清除缓冲区很重要吗

112次

问题描述:

C语言中清除缓冲区很重要吗

推荐答案

2023-10-24 20:45:08

如果缓冲区是在栈里分配的话是不需要清除的,因为系统会帮你做这个工作,但是如果缓冲区是分配在堆里的话就要自己手动清除了,不然会发生内存泄露,就是虽然不使用,但占用的资源仍然不能释放,会影响系统性能。清除缓冲区有三种方法:方法一:fflush(stdin);fflush(stdin)在VC上可以使用,但是其他编译器不能保证对fflush的实现。方法二:setbuf(stdin, NULL);setbuf(stdin, NULL);是使stdin输入流由默认缓冲区转为无缓冲区。但缓冲区没有了。方法三:char ch;while((ch = getchar()) != '

' && ch != EOF);这种方法是最好的方法,因为它使用的是C语言的基本语法,在什么情况都是支持的。

知道问答相关问答

(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6