c語言中容易出錯的幾個地方

2021-09-25 14:00:06 字數 644 閱讀 2756

(1)常量與變數判斷是否相等時,一般把常量寫在前面,這樣若少寫乙個 = 會出現錯誤提示,方便改正。

(2)判斷浮點數是否相等時,不允許用==,因為有些小數部分因為二進位制轉換導致不能儲存準確的值。一般設定乙個精度來做判斷,如果兩數之差的絕對值處於精度之外的話,我們可以看做兩個數相等。

const double exp=1e-6;

if (fabs(d-x)<=exp)

(3)迴圈:

#include

int main()

printf("%d",s);

return 0;

}這是乙個容易被忽略的死迴圈,由於char的取值範圍為 -128~~127,所以while的條件永真,迴圈一直進行,故其是死迴圈。

#include

int main()

printf ("%d",i);

return 0;

}這是乙個偽死迴圈,int的取值範圍為 -2147483648~~2147483647,當i自減至 -2147483648時,再自減會變為2147483647,迴圈結束。

(4)陣列

定義乙個有12個元素二維陣列:

int a[3][4]=;

若對a[1][4]進行操作則不會造成越界,實際上是對a[3][0]進行操作。

簡單 但 容易出錯的地方

持續跟新中 1.當使用容器定義指標型別的時候 要注意這個指標指向內容的變化 std vectorm vpath char str 20 hello world int main 上面本意是想將字串 hello world 和 123455 存入容器中 但是最後的結果是是 123455 123455 ...

NIOS EDS最容易出錯的地方

越來越多的人使用nios ii。畢竟,nios ii是世界上功能最多的軟核處理器。nios eds通常是在裝quartus的時候一起裝上的。通常我們在用的時候都是以模板建立工程的。在很多情況下,我們安裝quartus後,能夠執行nios eds,即eclipse,但在建立工程的時候,發現沒有出現相應...

C語言中最容易出錯的知識點

1 ifdef 識別符號 定義了巨集就執行語句一 語句一 else 語句二 endif2 ifndef 識別符號 沒有定義巨集就執行語句一 語句一 else 語句二 endif3 if 表示式 表示式成立就執行語句一 語句一 else 語句二 endif 正確的結果應該是 7 3 2 1 16 根據...