2D阵列使用函数扫描对

时间:2013-11-05 10:49:26

标签: c function multidimensional-array

我创建了这个函数,用于扫描2D数组中的垂直对,其中row = 20,column = 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);
}

我的问题是:对于(c = 0; c&lt; COLUMN -1; c ++),第2个语句是否需要-1(

)。

1 个答案:

答案 0 :(得分:3)

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

现在它将在randchar_array[ROW - 1 + 1][c]进行比较,这是超出范围的,并给出了未定义的行为。