栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言调试(Dev-C++)(初步)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言调试(Dev-C++)(初步)

引入:

在编写程序的过程中,难免会出现各种错误。例如漏加;,变量没有申明等等,这些是常见的语法错误。编译器会在下方报错

这种情况,按照编译器给出的提示做出对应修改即可。

然而在很多时候 ,会有不可避免的逻辑错误。通常,编译器不会报错,因为你的语法是正确的,计算机又不知道你编写这段代码的目的是什么,所以程序正常运行后,结果与预期不限符合。这时候,我们会去寻找逻辑漏洞。

首先我们可能会在大脑中将程序跑一遍,然后你可能会发现逻辑问题。然而,当逻辑关系相对复杂,程序运行步骤较多时,你会手足无措。也许你觉得我逻辑一点也没错啊,可为什么结果就是不对呢?

于是就有了调试(Dubug)。

调试分为动态调试(Dynamic debugging)和静态调试(static debugging)。

调试界面介绍:

打开我们的Dev-C++

 先将下方一栏选项选到调试

接着上方选择Dubug(原来默认为Release)。Release是程序编写完成后,用户使用时的界面选项。而想要调试程序,则选择Dubug。

动态调试介绍:

随机输入五个数,找出其中最大的数

 我们编译过了,但是运行结果却是如此:

明显逻辑出错了,我们开始调试。

 首先要打断点:在程序左侧一栏点击一下,就成功进行了断点

 然后点击下方的调试,调试就开始进行了。

点击下一步,程序就从断点处开始向下运行,并跳出窗口。

当遇到scanf,在窗口输入。

遇到循环,蓝框会在循环语句内循环,直到循环结束。

遇到printf,会输出。

光这样当然看不出什么,我们还要添加查看,查看当前变量的值。

 如此,我们可以动态地看变量当前的值。

对于以上程序,我们在调试时发现,max的值始终时-9999,并没有记录到当前最大值。将

arr[i] = max改为max = arr[i]即可

又发现,程序只循环四次,并不是想要的输入五个数。将i < 5改为i <= 5即可。

 修改正确,达到目的。

而当我们设置两个断点,程序就只会调试两个断点之间的代码

静态调试: 

静态调试,就是自己手动调试。

将程序当前变量值输出出来

还是上面这个例子

我们在循环内部输出max的值,每次循环都会输出一遍

每次循环,max都输出-9999,从而找出来问题所在。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779062.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号