C 如何知道某个位置是否超出我的2D阵列?

C 如何知道某个位置是否超出我的2D阵列?,c,arrays,matrix,null,multidimensional-array,C,Arrays,Matrix,Null,Multidimensional Array,我需要知道2D数组的位置是否在其中。例如,我得到了一个8x8阵列,用户需要在一个位置添加一个数字,例如MyArray[3][7],但首先我需要验证该位置是否在我的阵列中。所以我可以这样问吗 if (MyArray[x - 1][y - 1]==NULL){ printf("Give me another location: \n"); . . . } 您需要将数组的维度与数组本身一起传递,并使用哑数学方法进行边界检查: if (x < 0 || x >= xlen

我需要知道2D数组的位置是否在其中。例如,我得到了一个8x8阵列,用户需要在一个位置添加一个数字,例如
MyArray[3][7]
,但首先我需要验证该位置是否在我的阵列中。所以我可以这样问吗

if (MyArray[x - 1][y - 1]==NULL){
  printf("Give me another location: \n");
  .
  .
  .
}

您需要将数组的维度与数组本身一起传递,并使用哑数学方法进行边界检查:

if (x < 0 || x >= xlen || y < 0 || y >= ylen) {...
如果(x<0 | | x>=xlen | | y<0 | | y>=ylen){。。。

您需要传递数组的维度以及数组本身,并使用哑数学方法进行边界检查:

if (x < 0 || x >= xlen || y < 0 || y >= ylen) {...
如果(x<0 | | x>=xlen | | y<0 | | y>=ylen){。。。

您需要传递数组的维度以及数组本身,并使用哑数学方法进行边界检查:

if (x < 0 || x >= xlen || y < 0 || y >= ylen) {...
如果(x<0 | | x>=xlen | | y<0 | | y>=ylen){。。。

您需要传递数组的维度以及数组本身,并使用哑数学方法进行边界检查:

if (x < 0 || x >= xlen || y < 0 || y >= ylen) {...
如果(x<0 | | x>=xlen | | y<0 | | y>=ylen){。。。

如果用户输入了
x
y
的值,则可以执行以下操作:

#include <stdio.h>

int main() {
    int MyArray[8][8];

    int x, y;

    printf("Give me a location: ");
    scanf("%d %d", &x, &y);

    while (x < 0 || x > 7 || y < 0 || y > 7) {
        printf("Give me another location: ");
        scanf("%d %d", &x, &y);
    }

    return 0;
}
#包括
int main(){
int MyArray[8][8];
int x,y;
printf(“给我一个位置:”);
scanf(“%d%d”,&x,&y);
而(x<0 | | x>7 | | y<0 | | y>7){
printf(“给我另一个位置:”);
scanf(“%d%d”,&x,&y);
}
返回0;
}

否则,程序可以尝试访问程序不应接触的内存空间,并尝试检查它是否为空。

如果用户输入了
x
y
的值,则可以执行以下操作:

#include <stdio.h>

int main() {
    int MyArray[8][8];

    int x, y;

    printf("Give me a location: ");
    scanf("%d %d", &x, &y);

    while (x < 0 || x > 7 || y < 0 || y > 7) {
        printf("Give me another location: ");
        scanf("%d %d", &x, &y);
    }

    return 0;
}
#包括
int main(){
int MyArray[8][8];
int x,y;
printf(“给我一个位置:”);
scanf(“%d%d”,&x,&y);
而(x<0 | | x>7 | | y<0 | | y>7){
printf(“给我另一个位置:”);
scanf(“%d%d”,&x,&y);
}
返回0;
}

否则,程序可以尝试访问程序不应接触的内存空间,并尝试检查它是否为空。

如果用户输入了
x
y
的值,则可以执行以下操作:

#include <stdio.h>

int main() {
    int MyArray[8][8];

    int x, y;

    printf("Give me a location: ");
    scanf("%d %d", &x, &y);

    while (x < 0 || x > 7 || y < 0 || y > 7) {
        printf("Give me another location: ");
        scanf("%d %d", &x, &y);
    }

    return 0;
}
#包括
int main(){
int MyArray[8][8];
int x,y;
printf(“给我一个位置:”);
scanf(“%d%d”,&x,&y);
而(x<0 | | x>7 | | y<0 | | y>7){
printf(“给我另一个位置:”);
scanf(“%d%d”,&x,&y);
}
返回0;
}

否则,程序可以尝试访问程序不应接触的内存空间,并尝试检查它是否为空。

如果用户输入了
x
y
的值,则可以执行以下操作:

#include <stdio.h>

int main() {
    int MyArray[8][8];

    int x, y;

    printf("Give me a location: ");
    scanf("%d %d", &x, &y);

    while (x < 0 || x > 7 || y < 0 || y > 7) {
        printf("Give me another location: ");
        scanf("%d %d", &x, &y);
    }

    return 0;
}
#包括
int main(){
int MyArray[8][8];
int x,y;
printf(“给我一个位置:”);
scanf(“%d%d”,&x,&y);
而(x<0 | | x>7 | | y<0 | | y>7){
printf(“给我另一个位置:”);
scanf(“%d%d”,&x,&y);
}
返回0;
}

否则,程序可能会尝试访问程序不应接触的内存空间,并尝试检查它是否为空。

您使用的是什么语言?我使用的是C语言@colinvhw您使用的是什么语言?我使用的是C语言@colinvhw您使用的是什么语言?我使用的是C语言@colinvhw您使用的是什么语言?我使用的是C语言e@ColinvH