護欄柱錯誤

護欄柱錯誤(fence post error),含義即越過數組末尾進行讀寫操作的錯誤。

名詞釋義

護欄柱錯誤(fence post error),即越過數組末尾進行讀寫操作的錯誤。

護欄柱錯誤 護欄柱錯誤

它指的是這樣一個問題:要建立一堵長7米的護欄,如果兩個相鄰護欄柱相隔1米,需要多少個護欄柱?大多數人會說7個,但實際上需要8個。如右圖,很好地說明了這一點。這種“少1”(off by one)計數可能是C++程式設計師的噩夢。所以學習C++語言需要習慣這樣一種觀念——一切都是從0開始計數。

示例

#include <iostream>

using namespace std;

main()

{

int Array[25]={1};

cout<<"Array[1]="<<Array[1]<<endl;

cout<<"Array[25]="<<Array[25]<<endl;

system("pause");

return 0;

}

護欄柱錯誤 護欄柱錯誤

圖中為運行結果,在讀取Array[25]時因為其不存在,顯示為亂碼(6897392)。

相關詞條

熱門詞條

聯絡我們