1

我创建了这个函数,它扫描二维数组中的垂直对,其中行 = 20,列 = 30。为了阐明从 A 到 Z 的随机字符存储在数组的每个元素中。

char function3 (char randchar_array[ROW] [COLUMN]) 

{
int r = 0 ;
int c = 0 ;
int vertpairs = 0;

 for (r = 0; r < ROW ; r++)
 {
     for (c = 0; c < COLUMN -1; c++)
     {
       {
       if(randchar_array[r][c] == randchar_array[r+1][c])
         vertpairs++;
       }
     }
  }

  return (vertpairs);
}

我的问题是:第二个 for 语句“for (c = 0; c < COLUMN -1; c++)”是否需要 -1。

4

1 回答 1

3

不,从代码(垂直比较)看来- 1应该在外循环上。

现在它将比较randchar_array[ROW - 1 + 1][c]哪个越界,并给出未定义的行为。

于 2013-11-05T10:51:13.213 回答