【发布时间】:2023-04-06 08:08:01
【问题描述】:
我要求用户输入两个数字,然后我使用 scanf 读取它们。我将这些数字分配给变量 x 和 y:
int x;
int y;
scanf("%d %d", &x, &y);
然后我可以像这样使用变量 x 和 y 声明一个二维数组吗?
int array[x][y];
【问题讨论】:
-
是的,你可以,它被称为变长数组。还有其他问题吗?
我要求用户输入两个数字,然后我使用 scanf 读取它们。我将这些数字分配给变量 x 和 y:
int x;
int y;
scanf("%d %d", &x, &y);
然后我可以像这样使用变量 x 和 y 声明一个二维数组吗?
int array[x][y];
【问题讨论】:
是的,你可以。 C99 和更高版本添加了这个称为variable length arrays 的功能。
【讨论】:
scanf(%d %d, &x, &y);
错了。应该是
scanf( "%d%d", &x, &y);
关于你真正的问题,是的。在任何支持 C99 和更新版本的编译器上,您都可以这样做。没关系
int x;
int y;
scanf( "%d%d ", &x, &y);
int a[x];
int array[x][y];
这些在支持 C99 的编译器上都很好(如 gcc 、 MinGw 等)。
这是作为Arrays of Variable Length引入的功能
【讨论】: