一个初学者关于bug的小感悟——自己写自己找自己改
PART1.自己写bug
在初学的时候会有很多情况下一行代码写完,应该加分号的地方忘记加分号,循环语句大括号后面不应该加分号却加了,fro玄幻语句里面应该用,却用了;号,scanf忘记&,写出了很多bug;
在初期自己用豆包等ai工具发现bug,但是这种方法不会是我犯的错误刻骨铭心,还是会犯同样的错误,幸亏c语言老师教会了调试这种方法并留了那句让我铭记的话——自己写bug自己找bug自己改bug,而其中如何找到bug呢——调试!
PART2:自己找bug·
那么介绍vs中如何进行调试
在C语言调试中,另一种常见的类型是逐过程(Step Over)。 1. **逐语句(Step Into)** - **含义**:逐语句调试是指每次执行一行代码。当遇到函数调用时,调试器会进入函数内部,逐行执行函数中的代码。例如,有一个函数`add(int a, int b)`,在调用`add(3, 5)`的代码处进行逐语句调试时,调试器会进入`add`函数内部,从函数的第一行开始逐行执行计算两数相加的代码。 2. **逐过程(Step Over)** - **含义**:逐过程调试也是每次执行一行代码,但当遇到函数调用时,它不会进入函数内部逐行执行,而是将整个函数调用当作一步,直接执行完函数并得到结果。例如,对于前面提到的`add(3, 5)`,如果是逐过程调试,调试器会直接计算出`add`函数的结果(这里是8),然后继续执行函数调用后的下一行代码。 两种调试类型的应用场景:
1.逐语句:这种方式非常适合于仔细检查程序的执行流程,特别是当需要深入了解函数内部的具体操作和逻辑时。比如在调试一个复杂的数学计算函数或者字符串处理函数,逐语句调试可以帮助开发者查看每一步的计算结果和变量变化情况。
2.逐过程:当开发者已经对某些函数的功能非常确定,只是想关注函数外部的主要逻辑流程时,逐过程调试就很有用。比如在一个大型程序中,有许多经过充分测试的库函数被调用,使用逐过程调试可以快速跳过这些函数,聚焦于自己编写的新功能部分的代码逻辑。
PART3:自己改bug
自己改bug,对于初学者比较有难度,模仿高手的代码并研究高手的代码,也是好的学习方法之一,然而我们拥有一个天然的学习c语言的partner_人工智能,我们应该好好利用人工智能,与他进行磨合,从而不断改进自己的代码取得进步!
(声明:该观点仅来自于大一初学c语言的认知,如有错误,欢迎大家指出,也希望大家多多包涵!)