输入缓存的影响
来源:3-9 循环语句

wxz123
2020-12-21
老师为啥上图中的s输入后回车,这个回车停留在输入的缓存中不影响left、operator、right的输入,而下图中left、operator、right输入回车后,回车停留在输入的缓存中就影响了s呢,s的输出直接为换行符了?
写回答
1回答
-
第一个图,getchar会等待一个字符输入,你敲了一个回车,s就被赋值为回车字符了,你再输入算式,回车,scanf读取算式,回车仍然在缓冲区当中。
第二个图里面,你输入算式之后,回车,scanf只读取算式,你这时候敲得回车依然在缓冲区,被接下来的getchar直接读走了。
另外,缓冲区不是缓存。注意区分。
仔细想想。其实没啥。
162021-08-18
相似问题