int a[arraysize];在声明这个变量之前,程序必须先知道arraysize这个值的大小,也就是说在声明int a[arraysize]时,arraysize不能是一个变量。
你可以定义 int a[1000];或者在main函数之前先 #define arraysize 1000,然后再 int a[arraysize];
如果你要根据输入的值来控制数组a的大小,那么必须使用动态内存申请malloc函数:
int* a;
a = (int *) malloc (arraysize*sizeof(int));
之后才能使用数组a
1>.\234.c(9) : error C2466: cannot allocate an array of constant size 0
1>.\234.c(9) : error C2133: 'a' : unknown size
错误很清楚啊,不能分配一个size是0的数组,未知的size
c不支持动态数组吧,你需要用malloc动态分配内存