#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int L[n];
// ...
return 0;
}
我想问的是,是否可以根据需要使用变量给出数组中元素的数量.老师告诉我们不推荐这种方法,我不明白为什么.谢谢你回答我的问题.
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int L[n];
// ...
return 0;
}
我想问的是,是否可以根据需要使用变量给出数组中元素的数量.老师告诉我们不推荐这种方法,我不明白为什么.谢谢你回答我的问题.
这份声明
int L[n];
是可变长度数组的声明.编译器有条件地支持可变长度array.
因此,不排除您会遇到不支持此类声明的编译器.
请注意,在本声明中,变量n
的值应大于0
.
由于这样的数组具有自动存储持续时间,因此其大小不应变化太大.否则,应该动态地为数组分配内存.