如何在C中打印在函数main中初始化的2D数组? void print2DArray(int-aRRay[][COLS],int-r,int-c); int main() { int数组[行][COLS]; int n; int r,c; srand(时间(空)); 对于(r=0;r

如何在C中打印在函数main中初始化的2D数组? void print2DArray(int-aRRay[][COLS],int-r,int-c); int main() { int数组[行][COLS]; int n; int r,c; srand(时间(空)); 对于(r=0;r,c,function,multidimensional-array,printf,2d,C,Function,Multidimensional Array,Printf,2d,int您的最后一个功能{printf(“%d”,aRRay[r][c])}请改为{printf(“%d”,aRRay[j][k])}。因为您正在执行循环,但没有使用循环执行任何操作,所以请在printf中使用j和k进行循环。希望这会有所帮助 如何打印二维阵列 OP的代码有误: void print2DArray(int aRRay[][COLS], int r, int c); int main() { int aRRay[ROWS][COLS]; int n; int

int您的最后一个功能
{printf(“%d”,aRRay[r][c])}
请改为
{printf(“%d”,aRRay[j][k])}
。因为您正在执行循环,但没有使用循环执行任何操作,所以请在printf中使用j和k进行循环。希望这会有所帮助

如何打印二维阵列

OP的代码有误:

void print2DArray(int aRRay[][COLS], int r, int c);
int main()
{
    int aRRay[ROWS][COLS];
    int n;

    int r, c;
    srand(time(NULL));
    for (r = 0; r < ROWS; r++)
    {
        for (c = 0; c < COLS; c++)
        {
            aRRay[r][c] = -40 + rand() % (80 + 1 - (-40));
        }
    }

print2DArray(aRRay[r][c], r, c);

printf("Enter an integer between -40 and 80: \n");
scanf("%d", &n);
while (n >= 40 || n <= -80)
{
    printf("Thie is an invalid integer, please re-enter an integer between 
     -80 and 40");
    scanf("%d", &n);
}

return 0;
}
void print2DArray(int aRRay[][COLS], int r, int c) 
statement
{
int j, k;
for (j = 0; j < ROWS; j++)
{
    for (k = 0; k < COLS; k++)
    {
        printf("%d ", aRRay[r][c]);
    }
    printf("\n");
}
}
如何初始化/分配并不重要。首先将维度传递给打印函数,然后传递给数组

数组维度最好键入为
size\u t
而不是
int

// printf("%d ", aRRay[r][c]);
printf("%d ", aRRay[j][k]);
OP有“我应该使用随机数生成器为我的2D数组创建数字”,这很好。上面使用
++n
,因为它更具说明性


另请参见。

查看
(k=0;k
。为什么
c
aRRay[r][c])
?我不知道在打印函数中键入什么才能得到aRRay[r][c]要使用我在函数main中初始化的随机数进行打印,首先必须消除代码的模糊,并使用正确的缩进。
// C99 solution using a variable length array

void print2DArray(size_t rows, size_t cols, int aRRay[rows][cols]) {
  for (size_t r = 0; r < rows; r++) {
    for (size_t c = 0; c < cols; c++) {
      printf("%d ", aRRay[r][c]);
    }
    printf("\n");
  }
}
#define ROWS 6
#define COLS 7

int main() {
  int aRRay[ROWS][COLS];
  size_t r, c;
  int n = 0;
  for (r = 0; r < ROWS; r++) {
    for (c = 0; c < COLS; c++) {
      aRRay[r][c] = ++n;
    }
  }
  print2DArray(ROWS, COLS, aRRay);
  int bRRay[2][3] = {{11,12,13}, {14,15,16}};
  print2DArray(2,3, bRRay);
}
1 2 3 4 5 6 7 
8 9 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 31 32 33 34 35 
36 37 38 39 40 41 42 
11 12 13 
14 15 16