如何快速有效地找出程序错误(C语言篇)

       我想大多数刚开始学习C语言的人都和我以前一样,自己好不容易敲出的程序代码在调试运行时却出错了,而自己却不知道错误出在哪儿,怎么去修改。多数人的第一反应就是摸不着头脑了,然后索性根据自己的逻辑去修改代码,结果反而越改越错。以下是我总结的一些查找错误的方法。

首先查找代码是否存在逻辑错误:

      1.变量使用前未被数值

       实例:

       int main()

  {

    int x=5,y,z;

    z=x*y;

    printf("%d",z);

    return 0;

  }

      在此程序中变量y在使用之前未被赋值,所以结果输出z的值就会是系统随机分配一个值给y再加乘以x的值。

      2.把赋值赋值符号“=”与等于符号“==”相混淆

  实例:

    有一下语句:

      if(a=5)

      {

    printf("a等于5");

  }

  这样一来输出的结果永远都是“a等于5”,原因是在执行if(a=5)之时,无论a之前是什么值,此时都会被重新赋值为5,而不是把a的值与5相比较,而正确的表示比较的表示为:

    if(a==5)

      {

    printf("a等于5");

  }

  3.switch语句中缺少break,do{}while()语句中while()之后缺少“;”等等。

其次首先查找代码是否存在算法错误:

     以交换两个变量的值得算法为例:

  正确的算法如下:

  int main()

  {

    int a=5,b=10,temp;

    temp=a;

    a=b;

    b=temp;

    printf("%d %d",a,b);

    return 0;

  }

  如果将temp=a;a=b;b=temp;的顺序随意调换就不会实现将a和b的值交换。

最后也是最容易犯的低级错误:

比如一条语句结束后忘了打";",输入语句“scanf("%d",a)”中赋值参数a之前忘了地址符“&”等等。

       我想按照以上的步骤来查找代码的错误会变得快速有效的,不妨试试哦!

      

原文地址:https://www.cnblogs.com/lykblog/p/4438809.html