社区讨论
真·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 条回复,欢迎继续交流。
正在加载回复...