• 如何快速有效地找出程序错误(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之前忘了地址符“&”等等。

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

          

  • 相关阅读:
    仿发送微博限制只发送140个字(一个汉字占位2字节)
    Linux下多任务间通信和同步-信号
    Color
    面试遇到的问题
    Jquery Mobile左右滑动效果
    C++ primer(八)--内联函数 引用变量 引用传递函数参数 函数重载/模板/模板具体化
    Python3 配置文件 解析
    Python MySQL ORM QuickORM hacking
    Python 获取 网卡 MAC 地址
    AttributeError: 'dict_values' object has no attribute 'translate'
  • 原文地址:https://www.cnblogs.com/lykblog/p/4438809.html
Copyright © 2020-2023  润新知