关于快读

学术版

WaterSun @ 2022-11-27 22:28:11

rt,请问一下如何使用快读解决读入若干个数的题目。

例如:有若干组操作,每次输入一个 n,问:n + 1 等于多少?


by StayAlone @ 2022-11-27 22:52:58

read getchar 的时候特判一下 EOF 即可。read 作 bool 返回值,遇到 EOF 返回 0,否则返回 1。


by Shunpower @ 2022-11-27 23:15:51

干脆 read() 里面读到 EOF 直接 exit(0) 特判一下就可以不用给 read 搞返回值。

如果 read 有返回值直接放在代码里不作右值表达式有风险,忘记写返回值更是逝世。


by WaterSun @ 2022-11-28 09:42:18

@StayAlone 栓Q


by WaterSun @ 2022-11-28 09:42:38

@Zealous_YH 栓Q


by StayAlone @ 2022-11-28 12:01:22

@Zealous_YH 没有风险,scanf printf 都有返回值,你号召大家别用了


by StayAlone @ 2022-11-28 12:03:43

我的快读就是这样实现的。虽然 exit(0) 也是不错的选择。


by Shunpower @ 2022-11-28 12:14:43

@StayAlone

好吧,我以前看一篇 blog 说放一个会有风险。

至于 exit(0) 当然是好用的。我的快读使用了无返回值实现。


by WaterSun @ 2022-11-28 15:53:07

@Zealous_YH az


|