蒟蒻请教下关于scanf的一些细节问题
  • 板块灌水区
  • 楼主aldol_reaction
  • 当前回复9
  • 已保存回复9
  • 发布时间2021/5/30 22:44
  • 上次更新2023/11/4 22:28:34
查看原帖
蒟蒻请教下关于scanf的一些细节问题
393190
aldol_reaction楼主2021/5/30 22:44

蒟蒻在看了很多博客后,有几个问题:

  1. 当输入缓冲区是
/n2 b/n

当:

scanf("%d", &a);

缓冲区的第一个字符是回车,scanf跳过了空白字符读取了2,那么跳过的这个回车会残留在缓冲区里,它的位置还是第一个吗?不会丢到缓冲区的末端吗,不是特别懂残留的数据应该放到哪了。

  1. scanf中的回车是可以把缓冲区的一段连续空白字符都吃掉吗? 空白字符指:\t, \n 还有空格

例如:缓冲区是这样的:

2\n \n3    //中间有一个空格

做如下操作:

scanf("%d %d", &a, &b);

同理scanf中的空格也可以吃掉缓冲区的一段连续空白字符(不一定是空格,可能是多种空白字符混合的?) 请问为什么可以吃掉不止一个空格,而且吃掉的也不一定必须是空格,还可以是\t和\n呢?

蒟蒻看了三天的各种博客,有这样的疑问,感谢大佬的帮助

2021/5/30 22:44
加载中...