以下代码在 vs2010(Win32 控制台应用程序模板)中编译错误。我该如何解决。
unsigned long long int Fibonacci[numFibs]; // error occurred here
错误 C2057:预期的常量表达式
错误 C2466:无法分配常量大小 0 的数组
错误 C2133:“斐波那契”:未知大小
附上完整的代码(它是来自 c -3E 书中编程的示例代码。没有任何修改)
int main()
{
int i, numFibs;
printf("How may Fibonacci numbers do you want (between 1 to 75)? ");
scanf("%i", &numFibs);
if ( numFibs < 1 || numFibs > 75){
printf("Bad number, sorry!\n");
return 1;
}
unsigned long long int Fibonacci[numFibs];
Fibonacci[0] = 0; // by definition
Fibonacci[1] = 1; // ditto
for ( i = 2; i < numFibs; ++i)
Fibonacci[i] = Fibonacci[i-2] + Fibonacci[i-1];
for ( i = 0; i < numFibs; ++i)
printf("%11u",Fibonacci[i]);
printf("\n");
return 0;
}