【发布时间】:2010-07-02 16:08:41
【问题描述】:
为什么这个 C 程序不能编译?这有什么问题?
我已经在 wxDevC++ 和 Turbo C++ 3.0 上尝试过。
Main.c
#include<stdio.h>
#include<conio.h>
const int SIZE = 5;
int main(int argc, char ** argv)
{
char array[SIZE] = {'A', 'B', 'C', 'D', 'E'};
printf("Array elements are,\n");
int i=0;
for(i=0 ; i<SIZE ; ++i)
{
printf("%c ", array[i]);
}
getch();
return 0;
}
两个编译器的错误信息相似。
f:\_Source-Codes\main.c In function `main':
8 f:\_Source-Codes\main.c variable-sized object may not be initialized
【问题讨论】:
-
什么是错误?
-
我没有立即看到任何问题...您看到了什么错误?
-
您的编译器不允许使用可变大小的数组。只需将 array[SIZE] 替换为 array[5] /or/ replace const int SIZE = 5;使用#define SIZE 5,它将编译(至少对于那个错误)。
-
"pile of pooh" = 一大堆不太聪明的熊——这不是你在开发工具中想要的东西
-
Turbo C++ 3.0,1992 年左右我用过的第一个 C++ 编译器。这个问题一定是个笑话!
标签: c