程式碼是否存在邏輯錯誤:
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)
https://iknow-pic.cdn.bcebos.com/d439b6003af33a87c737157ec95c10385343b57f
擴充套件資料
C語言程式設計注意事項:
1、書寫識別符號時,忽略了大小寫字母的區別。
2、將字元常量與字串常量混淆。
3、忽略了變數的型別,進行了不合法的運算。
4、忽略了“=”與“==”的區別。
5、忘記加分號。
6、多加分號。
7、輸入變數時忘記加地址運算子“&”。
程式碼是否存在邏輯錯誤:
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");
}
https://iknow-pic.cdn.bcebos.com/d439b6003af33a87c737157ec95c10385343b57f
擴充套件資料
C語言程式設計注意事項:
1、書寫識別符號時,忽略了大小寫字母的區別。
2、將字元常量與字串常量混淆。
3、忽略了變數的型別,進行了不合法的運算。
4、忽略了“=”與“==”的區別。
5、忘記加分號。
6、多加分號。
7、輸入變數時忘記加地址運算子“&”。