我想你要表達的是,編繹時,沒顯示出錯,但就是結果錯了。要細致地找原因。
根據我以往的經驗,原因有以下幾點。
1,內存沒有釋放。
用new,malloc等分配內存,而在結束時來釋放,頻繁調用,系統崩潰。
或者根本沒使用new或malloc,在使用內存時異常。
2,變量與地址用錯。
char*p;
charcp
第一個p指地址,在程序中用錯。
3,畫筆CPen,CStatic等未恢復
如:oldpen=pdc一>SelectObject(&m_pen);
在結束,沒有pdc一>SelectObject(oldpen);
導致顏色混亂。
4,中斷使用不當,或者回調callback函數使用不當.
5,c語言對變量類型有嚴格要求,unsigned與signed區別還是很大的,詳細檢查函數原型。
6,最后檢查算法,框圖。是否基本算法有誤。這個很難做。相信大家都很自負,堅信算法沒錯。對照數學算法與你的程序算法是否一致。
7,浮點運算。相信大家認為1.0十1.0=2.0無疑。如果double與其它變量轉換出問題,沒準是這樣的結果:
1.0十1.0=1.9999999999......