在c语言中貌似不能直接定义数组a【n】(n为变量); (谭浩强版c语言和高教的c语言程序设计都是这么说的)那为啥编译器会编译通过?而且运行正常(定义了一个有n个元素的数组)。。。求大神。。附上程序:#include<stdio.h>int main(){ int n=4; int a[4]; return 0;} 在guide和vc6.0上都能编译、组建和运行。。。这不科学啊??!!