请告诉我为什么以下代码甚至在 a 上运行strict C-99 compiler
:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n];
a[1]=10;
a[2]=5;
printf("%d %d",a[1],a[2]);
}
变量声明必须出现在 C 中的任何其他语句之前,对吧?如果我们想要一个动态分配的数组,我们必须使用内存分配函数,malloc()
但它是如何获取和输入整数并分配该大小的数组的呢?