程式行數比較多,出錯程序簡要如下
首先在頭檔案#include "a.h"中宣告了一批二維陣列

然后建立源檔案b.cpp,匯入上一頭檔案檔案,并建立一個用于二維陣列賦值的函式。該函式被另一源程式每分鐘內高頻重復呼叫,以重繪二維陣列最后一列的資料。并且,當重繪到每分鐘第0秒時,二維陣列每一列向左位移一單位。
用于賦值的函式如:


程式運行后,不知何故,當重繪到每分鐘第0秒時,原本沒有改變的price[1][num_hold] 卻被重置為0,即控制臺輸出efg項和輸出cde項本應該相等的,輸出efg項卻變成了0。

本人新手小白,在線等高手指出錯誤可能在哪里
uj5u.com熱心網友回復:
你的num_hold和常量numhold_是一樣的嗎?也就是num_hold不會超過陣列長度吧?你的for h 回圈里 if (h != 0) price[h][num_hold] = price[h][num_hold-1]; //你檢查跟蹤一下資料h=1時這里賦值賦的是多少?
uj5u.com熱心網友回復:
num_hold和numhold_值是一樣的,numhold_把num_hold常量化了efg項變成了0,產生錯誤出錯,彼時for回圈沒有結束,所以也不應該受“ if (h != 0) price[h][num_hold] = price[h][num_hold-1]; ”這一步影響
出錯結果感覺是已經部分賦值的二維數字被重置了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/53625.html
標籤:C++ 語言
上一篇:linux c system執行mysqldump命令報錯,回傳值32512
下一篇:qemu虛擬機相關
