第一次写博客,分享一下最近学到的比较实用的一个功能
最近在使用for循环嵌套的时候发现因其复杂性,我们难以去肉眼debug(除非你脑子是天河二号)而后我了解到VS有他自己的调试系统可以很方便的协助我们去观察语句中变量的改变,以帮助我们debug,接下来我就简单的进行一个绍的介
首先先写一个简单的for循环嵌套
#include<stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= 9; j++)
{
printf(" %d%d ", i, j);
}
printf("\n");
}
return 0;
}
执行后得到的结果是
假如我们此时遇到了bug,想要找出问题(或者我们想去更好地理解这串代码)我们可以利用VS的调试功能来逐步执行语句并关注其中变量的变化情况
首先,我们需要在语句中打上断点
只需在任意语句的左侧,及如图所示的小红点一列单击鼠标左键,那么我们就在这个小红点对应的行处打好了断点
接下来选择"调试—开始调试"或者单击F5,我们就可以开始调试了
PS:退出调试快捷键shift+F5
PSS:部分笔记本需要在快捷键中多加一个Fn键
与往常不同的是此刻我们的代码并不会一口气跑完,而是在断点处停下,像这样
可见并没有像上次一样输出一堆数字,执行的过程停在了第七行前,并且右侧也没有数字输出
然后就可以发现我们的右上角多了一行按钮
这几个就是我们在调试中会用到的四个玩意儿,从左往右分别是:
“显示下一条语句”、“逐语句”、“逐过程”、“跳出”
由于我这个蒟蒻才学c没多久,目前的编写代码只涉及到单一的函数,所以我只介绍一下“逐语句”(快捷键F11)
注意上上图中的箭头,当我们按下F11后箭头会跳向下一句语句并执行第七行语句,同时我们可以看到在左下角监视窗口内j的值发生了变化(因为执行了第七句,j被赋值)
此外,由上图可以发现在刚才发生变化的变量的值被标上了颜色
当我们再次按下F11可以发现输出了“11”(执行了printf)
由此,只要我们继续按下F11,代码就会被一句一句的执行下去,这无疑会对我们的编写带来不小的便利,尤其是像我这种学生党,可以更方便的去理解各种复杂程序
你学废了吗?
PSSS:多打几个断点是个好习惯