我们可以使用变量根据需要给出数组中元素的数量吗?

can we give the number of elements in an array as needed using a variable?

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    int L[n];
    // ...
    return 0;
}

我想问我是否可以根据需要使用变量给出数组中元素的数量。老师告诉我们不推荐这种方法,我不明白为什么。感谢您回答我的问题。

这个声明

int L[n];

是变长数组的声明。编译器有条件地支持可变长度数组。

因此不排除您会遇到不支持此类声明的编译器。

注意在这个声明中变量n的值要大于0.

由于这样的数组具有自动存储持续时间,因此其大小不应变化很大。否则你应该为数组动态分配内存。