c99标准允许使用变长数组,变的意思是可以根据变量的值来指定数组的维数,如根据用户的输入值指定数组的大小,印象中以前是不可以的。现在在gcc中是可以的(PS:ansi c标准是C90标准):
======================================================================
#include <stdio.h>
#include <string.h>
int main(void)
{
int n,i;
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++)
printf("%d ",arr[i]);
putchar('\n');
return 0;
}
======================================================================
======================================================================
#include <stdio.h>
#include <string.h>
int main(void)
{
int n,i;
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++)
printf("%d ",arr[i]);
putchar('\n');
return 0;
}
======================================================================