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

       我想按照以上的步驟來查找代碼的錯誤會變得快速有效的,不妨試試哦!

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM