【发布时间】:2016-05-18 16:04:28
【问题描述】:
我有一个这样的二维数组:
[1][0][3]
[0][2][0]
[1][0][0]
我应该分析每个位置,如果它周围有一个“0”,并得到那个位置。在那之后,我必须用另一个数字来完成这个位置。问题是,如何检测我正在分析的位置是否不存在,即是否溢出?我知道 C 没有边界检查,但一定有办法检查那个位置。
【问题讨论】:
-
您知道数组大小,
3x3所以请检查您的索引是否始终在合法范围内... -
使用嵌套循环,但适当限制边界条件。从索引 1 开始并在第 2 行或第 2 行停止。在您的示例中的 3X3 的情况下,只有死点中的 [2] 将成为检查的候选对象。
-
在声明数组的范围内,可以使用
sizeof()获取数组的大小。但是如果你将数组传递给一个函数,它只会传递一个指针。您还需要传递大小信息,函数无法自行获取它。