我读过C89不支持可变长度数组,但是以下实验似乎证明了这一点:
#include <stdio.h>
int main()
{
int x;
printf("Enter a number: ");
scanf("%d", &x);
int a[x];
a[0] = 1;
// ...
return 0;
}
当我这样编译时(假设文件名是
va_test.c
):gcc va_test.c -std=c89 -o va_test
有用...
我想念什么? :-)
最佳答案
GCC始终支持可变长度数组AFAIK。将-std设置为C89不会关闭GCC扩展...
编辑:实际上,如果您在此处检查:
http://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#C-Dialect-Options
在-std =下,您将找到以下内容:
密切注意“某些”一词。
关于c - C89中的可变长度数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4159746/