c - 我想用C语言将两个变量初始化为一个二维数组

标签 c arrays gcc multidimensional-array

我正在尝试将二维数组初始化为两个变量值,但它给了我一个错误,也许我没有正确初始化它,第 15 行是我收到错误的地方。

#include <stdio.h>      /* printf, scanf, puts, NULL */
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */

int main ()
{
  int r, i,j,l[i][j],M = 18, Ma = 30, array[7][2];
  srand (time(NULL));

  for(i=0; i < 7 ; i++)
  {     
  for (int j=0; j<2;j++)
  { int x=Ma + rand() / (RAND_MAX / (M - Ma + 1) + 1);
    int y=rand() % 10 + 1;
    l[i][j]={x,y};
    array[i][j] = l[i][j];
    printf("%d\t",array[i][j]);
  }
  printf("\n");    

  }
  printf("\n") ;
  return 0;;
}

最佳答案

在初始化中你不能写变量,所以在 l[i][j] 的地方提到 l[10][10] 这样就不会发生错误。

关于c - 我想用C语言将两个变量初始化为一个二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287907/

相关文章:

macos - 在 Mac 上为 iPhone 交叉编译?

c++ - 方法冲突的类型

你能帮我修改这段代码,让它在旧版本的 linux 中编译吗

无法在 OpenGL 中绘制三角形

c++ - 动态内存分配,C++

c - ';' token 之前的错误 : expected ',' , ')' 或 '&'

command-line - 如何使用 $ORIGIN 获取 RPATH 以在 Code::Blocks GCC 上工作?

c - 如何从确定的位置检查一组位是否为 0?

c - 有人会如何、在何处以及为何使用 int (*q)[3];

java - 数组值未填充