我的代码中某处有错误,我想我正在进入一个无限循环。基本上我得到一个矩阵和两个索引 i,j,我需要计算 [i][j] 周围有多少邻居的值为 1 或 2。
这是我的代码:
int number_of_living_neighbors(matrix mat,int i, int j, int n,int m)
{
int counter=0,row_index=0,column_index=0;
for(row_index=i-1;row_index<=i+1;row_index++)
{
for(column_index=j-1;column_index=j+1;column_index++)
{
if((row_index>=0)&&(row_index<n)&&(column_index>=0)&&(column_index<m))
{
if((mat[row_index][column_index]==1)||(mat[row_index][column_index]==2))
counter++;
if((row_index==i)&&(column_index==j)&&(mat[i][j]==1))
counter--;
}
}
}
printf("The number of living neighbors is %d", counter);
return counter;
}
它不打印任何东西。mat 是我得到的矩阵,i,j 是指针,n 是行数,m 是列数。