3
4

3 回答 3

12

在 C++ 中,您不能将值分配给函数外部的全局数组。在 main 函数中移动以下行:

f[0]=1;
f[1]=1;
go[0]=1;
go[1]=1;
于 2012-11-07T07:54:51.047 回答
3

您应该只为函数声明中的变量赋值。

#include<iostream>
using namespace std;
int go[10000],f[10000],n,i;
int g(int x) {
    return (f[x-1] + go[x-1]);
}
int main() {

f[0]=1;
f[1]=1;
go[0]=1;
go[1]=1;


    cin>>n;

     for (i=2;i<=n;i++) {
        f[i]=f[i-1]+f[i-2]+(2*g(i-2));
    }
    cout<<f[i];
    system("PAUSE");
}
于 2012-11-07T07:59:12.420 回答
3

您不能在文件范围内进行分配。
但是,您可以进行初始化。
像这样:

int go[10000] = {1, 1};  // The remaining 9998 elements will be set to zero automatically.
int f[10000] = {1, 1};

或者移动里面的作业main

于 2012-11-07T10:20:55.823 回答