- 博客(1)
- 收藏
- 关注
原创 scanf为什么不能有\n?真是神神秘秘
这也证明了我们的设想,\n的存在改变了scanf的读取格式,导致我们需要多输入一个值一个回车,且这个值和回车留在缓冲区等待下一次的读取。在实际的输入中,我们敲进去了3\n,scanf读取了3,此时缓冲区只剩下\n,再次读取时返回为EOF;我们发现第一个scanf有了\n后,就按照%d\n的格式读取,于是返回值为2,这时缓冲区剩下了5\n;当程序运行到第二个scanf时,我们没有输入操作,scanf就直接读取了剩下的5\n传给了i,i=5;当我们在输入的时候,scanf函数会在缓冲区读取数据。
2023-09-07 20:57:59 644
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人