循環語句中一個不易發現的錯誤

今天在調試自己寫的一個圖像處理的程序時發現一個循環語句使用時不易發現的一個錯誤,平時對細節的不注意,搞了我一整天,留着以後參考。

部分代碼如下:

unsigned int i,j;

 for(i=starty+1;i<endy-1;i++)
 {
      for(j=startx+1;j<endx-1;j++)
      {....

      }

}

看出錯誤來了嗎?取endy=0,或endx=0試試,程序不知道要運行多久了吧。

問題出在計數變量i的定義上,去掉unsigned 問題得解。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章