输入对输出还有影响?

P1198 [JSOI2008] 最大数

`cin`比`scanf`高级一些吧 貌似`scanf`会读入换行符或其它不明字符吧qwq @[XiaoX](/space/show?uid=61309)
by yjxyjx @ 2018-05-14 16:05:45


那跟输出有啥关系啊
by XiaoX @ 2018-05-14 16:06:58


那么,设想一下: 假如你的程序把`x`当成了回车符继续执行,那么肯定会产生一个输出的对不对 ~~关键是我这题没有分,不能看您的代码啊qwq~~ @[XiaoX](/space/show?uid=61309)
by yjxyjx @ 2018-05-14 16:18:38


好像很有道理,感谢!
by XiaoX @ 2018-05-14 16:20:11



by ahhsst @ 2018-05-14 16:25:23


cin高级
by ahhsst @ 2018-05-14 16:25:46


@[XiaoX](/space/show?uid=61309) @[yjxyjx](/space/show?uid=51211) @[ahhsst](/space/show?uid=91026) 解释一下,cin的输入形式是string字符串型,而你scanf中%c输入的是单字符型,而使用单字符型读入时,如果你读到的是空格(‘ ’)或换行符(‘\n’),它也会把这个值赋给char,而你上一组int读完之后存在一个换行符,你再%c把换行符读进去,后面的读入自然就乱了,而cin读入的字符串不会出现这种问题。解决的话可以尝试在scanf里套用%s读入字符串型 一下为个人观点: P.S.:没有哪种算法是“高级”的,只有“合适”的算法,比如cin固然可以自主选择读入数据类型,但是在没有关闭同步的情况下cin基本可以说是最慢的读入方法,所以比赛中很少用到cin
by 权御天下 @ 2018-05-23 22:56:19


|