读书人

关于数组的有关问题

发布时间: 2012-03-17 19:06:28 作者: rapoo

关于数组的问题
#include <stdio.h>
#include <cstdlib>

main()
{
int n;
scanf( "%d ",&n);
printf( "%d\n ",n);

int a[n];
int i=0;
for(i=0;i <n;i++)
printf( "%d\n ",a[i]);

system( "pause ");
}
上面的程序可以正确运行,但是如果将 "int a[n]; "改为 "int a[n]={5}; "就会报错,这是为什么?请各位高手解释下.

[解决办法]
这个程序可以编过,C99里已经允许变长数组了,只是知道的和用的人不多就是了。
可以看看这个:

http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=215&rl=1

gcc 3.4.3就已经可以通过编译了。
楼主用的是dev,内置gcc,所以可以编过;但vs似乎编不过。

只能说vs不支持C99了。
其实C99里很多特性都不错,我们也用到一些了,例如“Dispersed Statements and Declarations”

读书人网 >C语言

热点推荐