A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© DUKEMAN 中级黑马   /  2015-8-22 08:27  /  1092 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                                                                                                一、scanf缓冲区 1、在不同速度的设备之间传递数据的时候,需要使用缓冲区临时存储数据                                        2)内容:scanf 函数工作时会利用一个输入缓冲区把用户在键盘上输入的字符临时存储起来,程序实际上从这个输入缓冲区里获得数字
                                        3)特点:先进入输入缓冲区的数据必须优先处理                                        2、注意事项:
1)如果用户输入的内容和 scanf 函数要求的格式不一致,则它们会一直无法被处理,这会导致后面输入的内容也无法处理
                                        2)可以使用如下两条语句把输入缓冲区里可能存在的错误数据丢弃
scanf("%*[^\n]");//把输入缓冲区里第一个换行字符前的所有内容丢弃
                                        scanf("%*c");//把输入缓冲区里第一个换行字符丢弃
                                        二 、printf缓冲区
printf 函数使用输出缓冲区临时存储要打印的内容
                                        只有满足如下四个条件中的某一个,输出缓冲区里面的内容才会显示在屏幕上
                                        1.'\n'换行字符前面的内容会被打印在屏幕上
2.当主函数结束后程序打印的内容出现在屏幕上
3.当输出缓冲区被充满的时候,里面的内容会被打印在屏幕上
4.可以使用 fflush(stdout)语句把输出缓冲区里的内容强制显示在屏幕上

                               
                       


9 个回复

倒序浏览
嗯     这下就明白了
回复 使用道具 举报
不错  很详细这个知识点
回复 使用道具 举报
愿得一人心1111 发表于 2015-8-22 22:08
嗯     这下就明白了

一起交流,,发帖格式总是出问题 ,请见谅
回复 使用道具 举报
素包子 发表于 2015-8-22 22:12
不错  很详细这个知识点

谢谢 刚学一点,第一次发这种贴
回复 使用道具 举报
也可以使用getchar()来清掉缓冲区中的数据
回复 使用道具 举报
Pythoner 发表于 2015-8-23 17:59
也可以使用getchar()来清掉缓冲区中的数据

嗯  谢谢补充
回复 使用道具 举报
颖峰 中级黑马 2015-8-25 11:06:37
8#
说的确实很有道理 很好理解

点评

谢谢 一起努力  发表于 2015-8-25 11:32
回复 使用道具 举报
不错。很好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马