`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