2017-05-15 37 views
-2

我寫了一個函數來檢查一個字母在數組中出現了多少次,但是它導致程序在試圖讀取它時卡住了。我認爲問題是這條線if (board[i][j] == 'B')。下面是函數:(函數的名稱是scoreb,它得到雙倍ARR):C函數檢查一個字母在數組中出現了多少次

int scoreb (char board[size][size]) 
{ 
    int scoreb = 0,i=0,j=0; 
    for (j = 0; i<size; j++) 
    { 
     for (i = 0; j<size; i++) 
     { 
      if (board[i][j] == 'B') 
       scoreb++; 
     } 
    } 
    return scoreb; 
} 
+2

' - >'for for(j = 0; j

+0

for循環對我來說似乎不正確...對於第一個循環使用i和第二個使用j ...似乎互換 – zenwraight

+0

'for(j (i = 0; i '對於(i = 0; i BLUEPIXY

回答

0

在內環for (i = 0; j<size; i++)j < size永遠不會假,循環會無限的。

你的循環應該是這樣的

for (i = 0; i < size; i++) 
{ 
    for (j = 0; j < size; j++) 
    { 
     if (board[i][j] == 'B') 
       scoreb++; 
    } 
} 
0

您的循環是不正確的,並會導致一個無限循環。

for (j = 0; j<size; j++) 
    { 
     for (i = 0; i<size; i++) 
     { 
      if (board[i][j] == 'B') 
       scoreb++; 
     } 
    } 
0

您的每個for循環檢查其他for循環中使用的變量。這顯然是不正確的。在外循環中測試i < size,在內循環中測試j < size

增量i決不會使j < size如果以前不是真的,反之亦然。對於(i = 0; i `

相關問題