【重要通知】编译器升级(C++14 / C11)

2025年11月20日

为了给大家提供更加稳定、更加符合当前信奥竞赛要求的评测环境,本题库已完成编译器升级。

一、编译器版本升级情况

C++ 编译器(g++)

原版本新版本
g++ 7.5.0g++ 9.4.0
C++11C++14

新版本默认标准: -std=c++14(C++14 标准)

C 编译器(gcc)

原版本新版本
gcc 7.5.0gcc 9.4.0
C99C11

新版本默认标准: -std=c11(C11 标准)

二、此升级对做题者影响较小,但务必注意(非常重要)

【C/C++ 用户需注意的事项】

  • gets() 从 C11/C++14 标准中被彻底移除
  • g++ 9.4 编译时会报错:
error: 'gets' was not declared in this scope

替代方案:

char s[1000];
cin.getline(s, 1000);//记得多留一个位置存放'\0'

或使用 C++:

string s;
getline(cin, s);

或使用C语言:

fgets(buf, sizeof(buf), stdin);

三、性能与评测影响

  1. 编译速度更快

  2. 可执行文件优化更好

  3. O2 优化更稳定(不会突然更快或更慢)

  4. 绝大多数题目不会出现结果差异

四、问题反馈

如因编译器升级导致部分题目出现问题,欢迎反馈给老师,微信 teacherandy365