我想大多數剛開始學習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之前忘了地址符“&”等等。
我想按照以上的步驟來查找代碼的錯誤會變得快速有效的,不妨試試哦!