impossible 发表于 2016-8-21 11:22:33

科普一下。

有多少人知道可以这样写
#include <stdio.h>

int main()
{
        int a=0,i=0;
       
        scanf("%d",&a);
       
        int b;
       
        for(;i<a;i++){
                b=i;
                printf("%d",b);
        }
        return 0;
}
昨天试了一下代码,发现可以运行。后来查了一下,早在c99就已经有可变长数组了。{:5_100:}

musilintan 发表于 2016-8-29 09:31:52

这内存不是要动态分配么?谁来释放呢?

TimTimTim 发表于 2016-8-29 10:24:26

然而我的VS貌似不支持的样子

cosmosh73 发表于 2016-8-29 22:53:43

看看

菜鸟dc 发表于 2016-8-30 10:30:16

语法上没有什么问题,但是逻辑上有问题的,这是越界访问,但是不报错还是因为附近内存区域都可以访问
页: [1]
查看完整版本: 科普一下。