断点&输出大法快速定位编程错误
断点&输出大法快速定位编程错误
1、断点法
点红框位置就可以加每行代码的断点

再按F5进行debug操作,在下面的窗口看各函数的值
这种方法经常用在循环出现问题时进行处理
举个栗子
比方说现在输出的结果非常烫,但是由于代码复杂程度较高,不好分析

1 |
|
对重载部分进行分析:
因为有两个循环,所以我们需要分开判断是前面还是后面出了问题
用断点法给第一个for里面的语句上断点

点击运行,程序运行后自动停在这一行,此时下面的自动窗口会显示各个变量的值,我们可以用这个进行分析

此时按继续就可以一步一步地执行(可以用来判断是否是循环中间哪一步错了)

走到下一步就开始烫了

因此第一个循环就出现了问题
结合值可以分析是因为输出时直接使用cout<<str;导致的
因此对输出函数进行修改
特别提醒:如果大家出现了烫烫烫,别慌张,一般都是输出部分错了,平常我们用str[i]!=0,但由于str空位置指向-52的ascii码,所以这里可以用str[i]>0,相信聪明的大家都知道这是正确的hhh
改成这样即可
1 | for(int i=0;str[i]>0;i++)cout << str[i]; |
去掉断点再输出,成功

2、输出法
跟上面断点差不多,只是这样更省时间,容易看出程序运行时变量的变化过程
很好理解,就是直接在循环中多加一句cout,把变量的值写出来
举个栗子

对于这种要输出很多数字的题目,经常会碰到输出不正确的情况,比如这种

(我不干活了)!
(输出的少了)
遇到这些情况我们可以用cout快速筛出错误数据进行处理
(第一种可能是变量不符合输出if语句要求,第二种就是变量计算问题)
比如这个代码(正确的,主要是我不知道错误怎么编了QAQ):
1 |
|
判断是否正确可以在内层for中加上一个cout语句
1 | for(int j=0;j<=s.length()-1;j++) |
运行的时候每一次计算结果都会输出

这样能够快速排除变量问题
- 标题: 断点&输出大法快速定位编程错误
- 作者: ljnljn
- 创建于 : 2025-01-03 12:31:00
- 更新于 : 2026-05-25 22:04:46
- 链接: https://ljnljn2005.github.io/2025/01/03/断点&输出大法快速定位编程错误/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。