大多数人在他们的代码中写这些。
这意味着什么?
#ifndef
的用途是什么。
#ifndef ONLINE_JUDGE
freopen("E://ADpan//in.in", "r", stdin);
freopen("E://ADpan//out.out", "w", stdout);
#endif
答案 0 :(得分:1)
一个粗略的Google搜索导致this post。总结一下:在一些在线编码竞赛中,预定义的输入被发送到stdin
并有望在stdout
上进行。在本地进行测试和开发时,有些人更喜欢破解其程序以从文件中读取,因此他们不必做
test_program < input | diff - expected_output
最后,ONLINE_JUDGE
宏是在竞争环境中定义的,因此使用stdin
/ stdout
,而本地编译将不具有该宏,因此可以从这些文件中读取。
答案 1 :(得分:0)
这行代码由在文本编辑器而不是 IDE 中编码的竞争程序员使用。默认情况下,在大多数在线评委(例如:codeforces 或 codechef)中提交代码时定义 ONLINE_JUDGE 常量。它帮助代码确定代码是在在线判断器上还是在本地系统机器上运行。这行代码用于在本地机器上运行时从文件而不是stdin中读写的代码,以及在在线判断中运行时分别从stdin和stdout中读写的代码。