2021年3月30日 星期二

邏輯錯誤

 1.編譯時期的錯誤(Complie Errors)


編譯時期的錯誤來自程式建造編譯時期,例如if 打成IF,或程式語法使用錯誤

(比如該有括號沒打括號,忘了加上「;」…)

凡是造成Visual C#編譯時的困擾、讓它看不懂,通通算是編譯時期的錯誤。

「編譯時期」的錯誤可以透過「編譯器(Compiler)」在編譯的時候就幫你發現問題,

找錯誤容易很多,而在「執行時期」的錯誤就比較難追蹤了,

通常要有開發工具、還要下中斷點、... 

最好指定所有變數的資料型別稱為「強型別」。使用強型別有以下幾點好處:

  • 讓 IntelliSense® 能夠支援變數。這能讓您在輸入程式碼時看到變數的屬性及其他成員。
  • 可以利用編譯器型別檢查,這能找出可能因錯誤 (例如溢位) 而在 Run Time 失敗的陳述式。
  • 這也能夠偵測在不支援變數的物件上所進行的方法呼叫。
  • 執行程式碼的速度較快。

 

2.執行時期的錯誤(Run-time errors)

通常是試著執行一個不能執行的操作,例如整數除法中除數為0,或打開一個不存在的文件

在編譯過程中無法發現,只有在Run的時候才能發現,通常會使用Try Catch

 

3.邏輯錯誤(Logic Errors)

通常程式可以通過編譯並正常運行,但運行時並未按預期方式運行或得到預期結果。

註:此資料來自https://sweetkikibaby.pixnet.net/blog/post/190748169

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...