乙個邏輯錯誤。

2021-06-26 03:58:15 字數 706 閱讀 5144

程式設計師可能打算在這個語句列印0 1 2,但實際上它列印0 1 2 3。

語義錯誤不是由編譯器捕獲,並可以有任意數量的影響:他們可能不會出現在所有,使程式產生錯誤的輸出,引起不正常的行為,破壞資料,或導致程式崩潰。

它在很大程度上,我們關心的是語義錯誤。

語義錯誤可以用許多方式發生。最常見的一種語義錯誤是乙個邏輯錯誤。一種邏輯錯誤發生時,程式設計師錯誤**語句的邏輯。上述語句的例子是乙個邏輯錯誤。這裡是另乙個例子:

1

2if (x >= 5)

std::cout << "x is greater than 5";

當x是5?條件表示式的值為真,程式和列印「x大於5″。邏輯錯誤可以很容易或很難找到,根據問題的性質。

另乙個常見的語義錯誤是違反假設。一違反假設發生時,程式設計師的假設的東西都將是真實的或虛假的,而不對。例如:

123

4567

char strhello = "hello, world!";

std::cout << "enter an index: ";

int nindex;

std::cin >> nindex;

std::cout << "letter #" << nindex << " is " << strhello[nindex] << std::endl;

快排實現時候的乙個邏輯錯誤

1 include header file.h 2 using namespace std 34 void swap int a,intb 5 1112 void quick sort int a,int low,int high 13 33swap a low a high 3435 cout l...

乙個經典錯誤

今天,在學習qt tutorial 8的時候,犯了乙個經典錯誤,在建構函式裡面覆蓋了 應該是這樣稱呼這種行為的吧 私有成員變數,導致私有成員變數沒有初始化,引起懸空指標,導致程式崩潰。出錯 如下 lcdrange.h ifndef lcdrange h define lcdrange h inclu...

最後乙個錯誤

主 題 ngsa的bug都丟了嗎?建立者 陳強 參與者 鄭慶達 鄭春力 陳凡1 陳強 陳 黃清霞 陳強 陳強 2011 03 10 16 01 52 ngsa的bug都丟了嗎?陳強 陳強 2011 03 10 16 02 02 這是辦公系統,不能直接改 黃清霞 黃清霞 2011 03 10 16 0...