实验一 顺序存储线性表的基本运算(8)
时间:2025-07-05
时间:2025-07-05
Run to Cursor (Ctrl+F10): 执行光标所在的语句。
通过单步执行的方式,可以观察程序执行过程中关键变量的变化情况,从此比较容易的确定错误的原因、改正错误。
针对上例,简单介绍单步跟踪调试的方法。首先认为设置一个错误:将实验提示(1)中的程序的“if(i==n) i=0;”语句去掉。编译、连接后执行会发现结果不正确,要找出其中的编辑错误,一般可以按下面的步骤进行:
选择Build|Start Debug|Step Into命令,进行调试状态(即单步执行状态)。 设置需要观察的变量。在右下角Watch窗口的Watch1选项卡的name列分别输入需要观察的变量名称如I,*(p+i),这样在程序单步执行时,可以看到两个变量的值。当然,在单步执行的任何时候都可以在watch窗口中输入的 个变量名或者表达式以观察它们的值。
按F11或F10键单步执行。注意它们两个的区别。如果程序中的语句是调用了标准函数,可以按F10键直接得到函数调用后返回的结果,如果是调用了自定义函数,而且怀疑自定义函数有问题,那么可以按F11键进入到子函数中单步执行。在这里因为程序中没有自定义的函数,可以按F10键单步执行。
在程序执行到输入语句“scanf(“%d”,&n);”时应切换到控制台窗口输入n的值,这里输入“9”后按回车键,返回到VC调试环境,在watch窗口中加入变量n,可以观察到它的值是9。
继续按F10键单步执行,在单步执行第一个While循环的过程中,会出现输出了第一个正确结果,但是第二个就不正确了,这时观察变量i的值(i应该是0~n-1之间的一个值,表示数组元素的位置信息),发现i的值超过了8(这里n=9),显然变量i的值变化有问题。在仔细分析这个While循环,i是用来计数的,当i的值超过n的,应该从起始位置重新开始,所以应该在“i++”语句后加上一条“if(i==n)i=0;”的语句。
从上面的分析可以知道,单步执行、设置观察变量的母的主要是用来确定错误的大致范围和位置,具体的排错还要通过对程序的仔细分析最终找到错误的原因,进而改正。
六、 实验报告要求
画出源程序流程图。
上一篇:日本人的口头禅20课 (2)