关于DEV-C++的疑惑,请了解DEV-C++的解答一下
请看下面代码#include<stdio.h>
void main()
{
int n,i;
scanf("%d",&n);//输入一个数
int a[n];//创建一个n大的数组
for(i=0;i<n;i++)
a[i]=i;//把数组初始化
for(i=0;i<n;i++)
printf("%d ",a[i]);//打印数组每个元素
printf("\n%d ",sizeof(a));//输出数组的字节数
system("pause");
}
您会发现数组的定义有问题与标准C不符合因为数组大小应该先确定的,可俺发现这个程序在DEV-C++下竟然能运行,而且结果正确,这说明DEV-C++编译的时候如果数组没指定大小应该是先分一快较大的内存,后面运行的时候才根据输入数据的大小进行裁减,不知道我这样想对不对,请大家说说这是什么原因或者为什么这样?