首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于数组的有关问题

2012-03-17 
关于数组的问题#include stdio.h#include cstdlibmain(){intnscanf( %d ,&n)printf( %d\n ,n)i

关于数组的问题
#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”

热点排行