2011-08-18 66 views
1

我得到這個錯誤: == 4024 ==條件跳轉或移動取決於未初始化的值(s) == 4024 ==在0x400D69:constructBoardSpaces(在/一/ FR-01 /體積/家庭/螺柱/ roniy02/OOP /實例3 /播放)有條件跳轉或移動取決於未初始化的值 - C valgrind

而且功能:

static void constructBoardSpaces(char** array,int rows,int cols) 
{ 
    int i=0,j=0; 
    for (i = 0; i < rows; ++i) 
    { 
     for (j = 0; j < cols; ++j) 
     { 
      if((array[i][j])!='X'&&(array[i][j]!='O')) 
       { 
       array[i][j]=' '; 
       } 
     } 
    } 
} 

無法弄清楚是什麼問題。 謝謝

+0

聽起來很耳熟:http://stackoverflow.com/questions/7089892/conditional-jump-or-move-depends- on-uninitialised-values/7089919#7089919 – MByD

+1

如果使用'-g'標誌進行編譯,那麼Valgrind將能夠告訴您有問題的代碼的精確行號。 – caf

回答

1

你確定你在進入該循環之前初始化了二維數組嗎?否則,我會說的問題很可能是在你從陣列讀取if語句:

if((array[i][j])!='X'&&(array[i][j]!='O')) 
+0

謝謝,我現在檢查它 –

+0

很酷,它的工作,問題解決了! –

+2

@fgfjhgrjr erjhm:當您提出問題並設法解決問題時,請嘗試發佈答案/解決方案。它在這種情況下並不清楚,究竟是什麼問題以及解決問題的方法。 – goldenmean

相關問題