编程的过程不可能一帆风顺,由其是工作后,我们面对的程序几W、十几W、甚至上百W行代码。在写这些代码的时候不可避免的会出现这样那样的问题,这问题我们叫做BUG。怎样快速高效的找到BUG的准确位置并解决BUG呢?这就需要我们掌握一些调试手段。比如下面我们要讲的printf。
为什么要在这里先讲printf呢?因为它是最基本的调试手段。为什么呢?因为printf函数可以打印不同类型的数据,如整型、字符型、字符串、指针类型等。在我们调试程序的过程,我们可以实时的把程序运行的状态,程序运行过程中数据变化等信息打印出来,方便掌握程序运行的状态。
下面看下一个例子:
我们计算1加到10的和,那我想知道每加一个数后当前的值是多少,这时候我们就可以用printf把每一步的结果打印出来。
#include
int main()
{
int sum = 0;
int i = 0;
for (i = 1; i
sum = sum + i;
printf("sum:%d\n", sum);
}
return 0;
}
下面就是我们加了打印后的程序运行结果,我们把每一步的结果都打印了出来,是不是很清晰呢。在后续的程序调试过程我们会大量的使用printf来调试程序。当然还有其他的办来调试程序如gdb、一些IDE工具自带的调试器等。printf是最基本的调试手段。
root@watchdog:/mnt/hgfs/share32/c-base/pri-1# ./a.out
sum:1
sum:3
sum:6
sum:10
sum:15
sum:21
sum:28
sum:36
sum:45
sum:55
root@watchdog:/mnt/hgfs/share32/c-base/pri-1#
最后一定要叮嘱大家一句,以后工作后,你大部分的时间不是在编码实现新的功能,而在不断的解决各种各样的BUG。所以,能否快速有效的找到的BUG所在,交解决BUG是最能表现一个人能为的事。所以,大家在学习过程一定要学习、摸索如何去解决BUG。
到这里我们这章就结束了,下节开始,我们就开始真正写代码学习C语言了。
领取专属 10元无门槛券
私享最新 技术干货