- 大部分OJ的内存都采取严格管理,比如定义
a[10]
,则内存方面只剩请10个,若越界访问,代码直接崩溃。 但Helloworld就不一样,只要访问越界次数不多,不严重,连RE也不会判。例如用c语言风格输入:
其他OJ上,如输入字符串长度为114514,则崩溃RE(有时侥幸会WA),这是因为scanf会自动在字符串末尾加入'\0'作为结束符以保证其他操作如strlen就不会出问题。 但是,当长度为114514时,scanf会在str[114514]位置放置'\0',然后RE。 有时候侥幸过了,但printf也是基于'\0'的,所以在没存上'\0'时,它会报你100%WA。 可Helloworld就不太一样,他只看代码的反应,而且和本地运行相似,有时候应该判RE时不判,WA也不对。char str[114514]; ... scanf("%s",str); ...
奇·论
2023-01-02 13:38:44 By Benny
评论
xushuoxin
python的检测简直比c++还无语
- 2023-01-02 15:27:01
发表评论
可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。