scanf()不带\n

T 2020/2/18 11:21:51
#答疑卡#0218

T 2020/2/18 11:21:56
执行出来

T 2020/2/18 11:22:24
#答疑卡#0218

T 2020/2/18 11:22:59
正常的话应该是

#答疑卡#0218

A 2020/2/18 11:23:07
scanf不要加换行啊

T 2020/2/18 11:23:35
那为什么它会重复执行呢??

A 2020/2/18 11:55:39
#答疑卡#0218

A 2020/2/18 11:55:45
不是重复执行哦

A 2020/2/18 11:55:46
#答疑卡#0218

A 2020/2/18 11:58:08
具体解释一下的话:

  1. 输入匹配 %d(一个数字) + \n(一段空白)
  2. 当前通过换行符提交的输入,输入区域实际上只有「1」,尚不满足scanf条件;
  3. 继续输入数字并且换行,输入区域存在「1\n2」,前一段满足scanf条件,输入结束;
  4. 继续执行循环,输入区域为「1\n2\n3」,前一段满足了scanf条件,匹配出数字「2」

相关文章:

  • 2022-01-12
  • 2021-10-06
  • 2022-02-27
  • 2021-05-26
  • 2021-12-24
  • 2021-08-11
  • 2021-07-15
猜你喜欢
  • 2021-05-27
  • 2021-10-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
相关资源
相似解决方案