我在编写一个函数时遇到了这个问题,当用户输入 x,y(二维数组的坐标或索引)时,如果没有,它将返回 0,否则返回 1。
问问题
3349 次
3 回答
3
为此,您需要做的第一件事是初始化数组。你可以这样做:
int i,j;
for (int i = 0; i<SizeX; i++) {
for (int j = 0; j<SizeY; j++) {
arr[i][j] = 0;
}
}
现在您可以通过这种方式轻松检查它:
int check (int arr[SizeX][SizeY] , int i , int j) {
// out-of-bound check
if (i < SizeX && j < SizeY) {
return (arr[i][j] == NULL ? 0 : 1);
}else {
// -1 indicate error - out of bound indexes
return (-1);
}
}
于 2013-07-21T14:06:15.187 回答
0
你什么都没有是什么意思?
如果你不初始化你的arry,它包含垃圾值,
但如果你这样做,你可以检查单元格是否包含原始值或不同的值
1,然后返回 1 或 0。
于 2013-07-21T13:56:27.167 回答
0
其他人通过检查标记值来回答元素是否存在的问题。这些答案假设二维数组已经分配。如果您的情况有不同的内存分配模型(最初分配 1D 并动态分配 2D),那么您还必须检查 2D 是否实际分配给任何 1D 索引。一维 => 第一维;2D => 第二维。
于 2013-07-21T20:35:59.587 回答