Массивы переменной длины в C89?

Я читал, что 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

Оно работает...

Что мне не хватает? :-)

Ответы на вопрос(3)

Ваш ответ на вопрос