社区讨论

真·C艹灵异事件(cin爆炸)(求助帖)

学术版参与者 8已保存回复 12

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
12 条
当前快照
1 份
快照标识符
@locom3le
此快照首次捕获于
2023/10/30 17:12
2 年前
此快照最后确认于
2023/11/05 04:08
2 年前
查看原帖
震惊!cin竟然不能用了!
我们校内OJ有个奇怪的特点:把样例输入和样例输出作为一组样例来评测。有的时候样例输入和样例输出不符合格式,提交正常程序会格式错误,此时我就需要特判。
这次的一道题,就是个很好的例子。如图。
它也是洛谷的P2280。【一本通提高篇RMQ】奶牛排队。显而易见当时的样例输入和样例输出每行之间多出来一个换行。
而这万恶的样例数据使得标程提交上去是格式错误90pts,于是我加了特判,还是格式错误90pts。原来还有一个合乎规范的一模一样的数据!
我敏锐地发现了一个要素:不合规范的样例输入每两行之间有空行,于是我用getchar()来get两次,判断第二次get的是不是换行符,即char(10),如果不是换行符就不是这组数据,否则是。
结果交上去“段错误,数组越界,指针异常”,90pts,那组合乎规范的数据错了。经过调试(即注释“cout<<"awa";”)发现,cin炸了,如图
只输出了1个cin,证明memset没炸,后面的没执行,当然是cin炸了!
使用的IDE是CP Editor,但是代码在Dev-C艹上也不能正常工作。前天跑了一次,不行,昨天又一次,还不行。
代码在一楼,求调求指正!谢谢大家!

回复

12 条回复,欢迎继续交流。

正在加载回复...