milk2715093695 @ 2024-09-25 19:08:16
以前的警示贴掉到地下去了,再发一遍,具体情况查看:
警示后人(C语言全WA的原因
简单来说,在 MacOS
或者 Linux
系统下的文本文件每一行的行末换行符是一个 \n
,即你看到的是
1
2
实际上是 1 (\n) 2
,这是我们的正常理解,和我们在控制台直接输入 1 + 回车 + 2
的效果是一样的,因此只需要处理掉一个额外字符。
然鹅洛谷的输入文件似乎是存在 windows
系统上的,而在 windows
系统中,文本文件的每一行行末是 \r + \n
,即虽然看到的是
1
2
但是实际上是 1 (\r\n) 2
,因此需要处理掉的额外字符有两个。(不信的话可以把前面的字符不输出,输出第一个额外字符,洛谷的 WA
会提示出现一个 ACSII
码为 13
( 0D
也就是 \r
)的异常字符)
另外这个现象在字符串题单十分明显,大家小心。
by HenryLee0626 @ 2024-10-01 17:04:28
@milk2715093695 顶
by nbq202412904430 @ 2024-10-08 19:45:25
@milk2715093695 没看懂,不知道怎么改
by z777888xxx @ 2024-10-10 18:04:45
顶
by milk2715093695 @ 2024-10-22 18:50:30
老帖子的链接
可以看下这个,说的详细一点 @nbq202412904430