带有变量的 C 数组声明? [复制]
Posted
技术标签:
【中文标题】带有变量的 C 数组声明? [复制]【英文标题】:C Array Declarations with Variables? [duplicate] 【发布时间】:2015-06-17 07:05:39 【问题描述】:我要求用户输入两个数字,然后我使用 scanf 读取它们。我将这些数字分配给变量 x 和 y:
int x;
int y;
scanf("%d %d", &x, &y);
然后我可以像这样使用变量 x 和 y 声明一个二维数组吗?
int array[x][y];
【问题讨论】:
是的,你可以,它被称为变长数组。还有其他问题吗? 【参考方案1】:是的,你可以。 C99 和更高版本添加了这个称为variable length arrays 的功能。
【讨论】:
【参考方案2】: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引入的功能
【讨论】:
对不起,是的,这就是我的代码中的内容,我只是在写问题时打错了。 @jsmith102894 你能编辑你的问题并解决这个问题吗?它将防止 cmets 或答案中的噪音。以上是关于带有变量的 C 数组声明? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 C 中为数组声明和指向数组声明的指针动态分配的内存不同? [复制]