qq_愿时光安好_04050009
2017-01-30 10:55
关于缓冲区的问题。缓冲区是不是分为输入和输出缓存,你在屏幕上输入时就是将数据以字符写入了缓冲区,当你按下回车就是将数据以指定格式读取到内存,而输出就是将数据从内存读取,在写入到输出缓冲区,屏幕上你打的字符和输出的字符被缓冲区读取到了哪里?既然它显示了就应该占据空间,而缓冲区又太小,屏幕上那么多的字符在哪里存着呢?
第二个问题:while (getchar() != ‘\n’)
continue;
putchar();
具有丢弃除了字符的功能,是不是getchar()每从缓冲区读取一次字符,就会将该字符清除,还是会将光标移到下一个字符开始读取?
当getchar() == ‘\n’时已经不满足循环条件了,那'\n’是被使用了还是被清除了?
求大神解惑,关于缓冲区的疑问...做输入验证时发现‘'\n’真是一个麻烦的字符。
https://www.cnblogs.com/ghbuff/articles/15915563.html https://www.bilibili.com/read/cv17290379 缓冲区问题 键盘录入以换行符号'\n' 结尾 回车后 缓冲区一定有一个'\n' 此时用scanf("%*[^\n]");吸收掉除换行符以外的东西 scanf("%*c") 再吸收一个字符('\n')此时缓冲区就空了
while小括号后面的getchar不能这么写,书写有误
我觉得你得问题有点长,所以很少有人回答。。。。。。。。
Linux C语言结构体
118421 学习 · 165 问题
相似问题