【问题标题】:C Array Declarations with Variables? [duplicate]带有变量的 C 数组声明? [复制]
【发布时间】:2023-04-06 08:08:01
【问题描述】:

我要求用户输入两个数字,然后我使用 scanf 读取它们。我将这些数字分配给变量 x 和 y:

int x;
int y;
scanf("%d %d", &x, &y);

然后我可以像这样使用变量 x 和 y 声明一个二维数组吗?

int array[x][y];

【问题讨论】:

  • 是的,你可以,它被称为变长数组。还有其他问题吗?

标签: c arrays


【解决方案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 或答案中的噪音。
    猜你喜欢
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 2019-02-23
    • 1970-01-01
    相关资源
    最近更新 更多