蒟蒻在看了很多博客后,有几个问题:
- 当输入缓冲区是
/n2 b/n
当:
scanf("%d", &a);
缓冲区的第一个字符是回车,scanf跳过了空白字符读取了2,那么跳过的这个回车会残留在缓冲区里,它的位置还是第一个吗?不会丢到缓冲区的末端吗,不是特别懂残留的数据应该放到哪了。
- scanf中的回车是可以把缓冲区的一段连续空白字符都吃掉吗?
空白字符指:\t, \n 还有空格
例如:缓冲区是这样的:
2\n \n3 //中间有一个空格
做如下操作:
scanf("%d %d", &a, &b);
同理scanf中的空格也可以吃掉缓冲区的一段连续空白字符(不一定是空格,可能是多种空白字符混合的?)
请问为什么可以吃掉不止一个空格,而且吃掉的也不一定必须是空格,还可以是\t和\n呢?
蒟蒻看了三天的各种博客,有这样的疑问,感谢大佬的帮助