较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量。在vc6.0下亦是如此。
只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int a; int i; 6 scanf("%d",&a); 7 int c[a]; 8 for( i =0 ;i<a;i++) 9 scanf("%d",&c[i]); 10 for( i =0 ;i<a;i++) 11 printf("%d",c[i]); 12 }