Я читал, что 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
Работает ...
Чего мне не хватает?: -)