第 017 课
调试程序
🟢 入门 约 5 分钟
一句话理解
调试是有目的地找出程序错在哪,而不是盲目改。
为什么要学
乱改也许能碰巧过样例,但会把程序改得更乱。
讲解
调试三步:1. 稳定复现错误;2. 缩小范围,找到哪一句开始不对;3. 改完立刻再测。
最朴素的办法是打印中间变量。看到哪一步和手算不一样,错就在附近。
改完不要只测刚才那组数据,把样例和你构造的边界再跑一遍。
例子
cerr << "i=" << i << " sum=" << sum << "\n";
cerr 打印调试信息。有的评测只对比 cout,但养成习惯:提交前删掉或关掉调试输出。
常见错误
- 一次改三处。错更难定位。
- 把调试输出留在 cout 里提交,造成 WA。
练习 做完再看下一课
更合理的调试方式是?
缩小范围比盲改有效。
在线练习 C++ 在浏览器里编译,代码不会上传 已通过
Ctrl / ⌘ + Enter 运行 · Tab 缩进
隐藏测试点只是界面不展示数据。题目 JSON 会下发到浏览器,可在开发者工具里看到,只适合自学,不是正式比赛评测。
进度保存在本机浏览器里。
左右方向键也可翻课