今天在調試自己寫的一個圖像處理的程序時發現一個循環語句使用時不易發現的一個錯誤,平時對細節的不注意,搞了我一整天,留着以後參考。
部分代碼如下:
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 問題得解。