【发布时间】:2015-02-09 14:31:00
【问题描述】:
#include<stdio.h>
main() {
int a=5;
int array[a]={0};
printf("Success\n");
}
当我执行程序时,它会出现错误
b.c: In function ‘main’:
b.c:8:1: error: variable-sized object may not be initialized
b.c:8:1: warning: excess elements in array initializer [enabled by default]
b.c:8:1: warning: (near initialization for ‘array’) [enabled by default]
在 cc 编译器中。但我可以这样分配
int array[5]={0};
如果有人纠正我?
【问题讨论】:
-
在编译这个程序时使用
-std=c99作为CFLAGS -
@Bhuvanesh 您是否使用 cc -E 检查了您的代码。在此变量中没有要放置在数组大小中的值。